Thanks to visit codestin.com
Credit goes to programming.dev

  • Rimu@piefed.social
    Codestin Search App
    Codestin Search App
    English
    Codestin Search App
    4
    ·
    5 days ago

    Wow, very interesting to see Sync doing so well in comparison!

    But I thought a lot of the advantage of async is it’s ability to handle many concurrent requests? What happens if you run the same tests but this time with 100 requests in parallel?

  • sherbang@chaos.social
    Codestin Search App
    Codestin Search App
    Codestin Search App
    1
    ·
    5 days ago

    @hackeryarn It’s not clear from this writeup how SQLAlchemy is set up. If you’re using a sync postgres driver then you’re doing async-to-sync in your code and not testing what you think you’re testing.

    A test of different async SQLAlchemy configurations would be helpful next to this. Including testing that the SQLAlchemy setup is async all the way through.

    • logging_strict
      Codestin Search App
      Codestin Search App
      Codestin Search App
      2
      ·
      4 days ago

      I live and breathe this stuff

      SQLAlchemy AsyncSession calls greenlet_spawn which wraps a Session sync method. For async dialect+driver, the sqlalchemy dbapi driver will make async connections.

      Hey lets make an async call. You mean rewrite the exact code except with dispersed await sprinkled about? Fuck that! Once is enough. Instead wrap the sync call in a greenlet_spawn. And then return to the gulag of static type checking hell forever.

      So is it async all the way thru? No. It’s async enough™

  • loweffortname@lemmy.blahaj.zone
    Codestin Search App
    Codestin Search App
    English
    Codestin Search App
    1
    Codestin Search App
    1
    ·
    5 days ago

    It wasn’t clear whether they have a connection proxy in front of the postgres instance. PosrgreSQL connections are expensive, so something like pg_bouncer could also make a big difference here.

    (I realize the point was to test python web servers, but it would have been an interesting additional metric.)

    • hackeryarn@lemmy.worldOP
      Codestin Search App
      Codestin Search App
      Codestin Search App
      2
      ·
      5 days ago

      No connection proxy in this case. The pooled sync test uses client side pooling which shows better performance. Using a proxy would have the same effect, just moves the pooling to server side.