Giter VIP home page Giter VIP logo

Comments (5)

khuey avatar khuey commented on May 29, 2024

One useful statistic to know there would be how many postgres connections are actually used in each case. I suspect the async libraries are using far more connections than the blocking r2d2.

from bb8.

bikeshedder avatar bikeshedder commented on May 29, 2024

As you can see in the code I use the same pool size for all three implementations:

const POOL_MIN_SIZE: u16 = 4;`
const POOL_MAX_SIZE: u16 = 16;`

They were not extracted into constants before. I just changed that to make it more obvious that the pools are configured exactly the same.

I also made sure to run htop with a filter and could see 48 (3x16) DB connections to PostgreSQL which are all evently utilized, depending on the test currently running.

from bb8.

khuey avatar khuey commented on May 29, 2024

On my machine, with a release build of your test binary, I get

Running 2m test @ http://localhost:8000/v1.0/event_list_l337
  4 threads and 128 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.12ms  567.15us  29.99ms   78.09%
    Req/Sec     7.79k   164.50     8.97k    73.35%
  Latency Distribution
     50%    4.04ms
     75%    4.37ms
     90%    4.77ms
     99%    5.98ms
  3720626 requests in 2.00m, 1.49GB read
Requests/sec:  30994.28
Transfer/sec:     12.71MB
Running 2m test @ http://localhost:8000/v1.0/event_list_r2d2
  4 threads and 128 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.65ms    2.41ms  50.40ms   88.78%
    Req/Sec     7.23k   316.71    27.38k    98.71%
  Latency Distribution
     50%    3.69ms
     75%    4.42ms
     90%    7.49ms
     99%   14.98ms
  3453682 requests in 2.00m, 1.38GB read
Requests/sec:  28756.74
Transfer/sec:     11.79MB
Running 2m test @ http://localhost:8000/v1.0/event_list_bb8
  4 threads and 128 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.96ms  322.86us  32.02ms   82.08%
    Req/Sec     6.48k    92.65     7.41k    92.40%
  Latency Distribution
     50%    4.92ms
     75%    5.09ms
     90%    5.28ms
     99%    5.81ms
  3096725 requests in 2.00m, 1.24GB read
Requests/sec:  25802.00
Transfer/sec:     10.58MB

which is more along the lines of what I would expect.

from bb8.

bikeshedder avatar bikeshedder commented on May 29, 2024

I just updated r2d2 to the latest RC which also uses a newer version of (tokio-)postgres which resulted in a very measurable performance drop for the r2d2 implementation. It might all be related to this: sfackler/rust-postgres#469

from bb8.

bikeshedder avatar bikeshedder commented on May 29, 2024

It really seams to be an issue of the rust-postgres crate: sfackler/rust-postgres#469 (comment)

from bb8.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.