#35166: Return python-memcached support
-------------------------------------+-------------------------------------
     Reporter:  Matej Spiller Muys   |                    Owner:  nobody
         Type:  New feature          |                   Status:  closed
    Component:  Core (Cache system)  |                  Version:  5.0
     Severity:  Normal               |               Resolution:  wontfix
     Keywords:  memcached            |             Triage Stage:
  performance get_many               |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Comment (by Matej Spiller Muys):

 We already have our own backend since Django 4.1 because of performance
 issues.

 > I forgot point out that this is not making a persuasive argument when
 the linked issue that you have written contains no performance comparison.

 It is really simple to reproduce/mesaure. We have 4 memcached servers on
 AWS each having around 1 ms roundtrip.
 Now if get_many needs to fetch from all 4, it takes 4 ms for pymemcache
 (doing 4x loop of send & receive) and 1 ms for python-memcached (4x send
 then 4x receive ...). I didn't write the measurements at that time because
 it was clear to the author of pymemcache what the problem is and that is
 would be solved if refactored the same way as python-memcached logic.
 Basically you shouldn't wait for response after each send before sending
 to another server (but hash.py in pymemcache just loops around base.py
 code making it harder to optimise).

 The author of pymemcache is using mcrouter that works the same as python-
 memcached (first 4x send and then 4x receive). We don't want to use
 mcrouter, it would help but still adds a bit of extra hop latency or as
 alternative deploy it as side car with extra deploy complexity.
-- 
Ticket URL: <https://code.djangoproject.com/ticket/35166#comment:7>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018d7a6e45b0-a02c5845-b43d-4e30-b4c3-fb29aca78274-000000%40eu-central-1.amazonses.com.

Reply via email to