[Twisted-Python] Twisted Web at 630k reqs/sec

Louis D. Burr ldanielburr at me.com
Tue Nov 10 16:34:38 MST 2015


Hi Tobias,

> On Nov 10, 2015, at 4:54 PM, Tobias Oberstein <tobias.oberstein at tavendo.de> wrote:
> 
> Hi,
> 
> maybe it's of interest how far it's possible to drive Twisted Web on modern multi-core CPUs.
> 
> Here are 2 data points from measuring:
> 
> * 627990 HTTP requests/s at 360 us avg latency
> * 12.6 GB/s HTTP reply traffic
> 
> This is using 40 Xeon cores and serves HTTP over loopback TCP to 8 threads of wrk. The Twisted Web resource served was
> 
> https://github.com/crossbario/crossbarexamples/blob/master/benchmark/web/myresource.py
> 
> Details, figures and more results are here:
> 
> https://github.com/crossbario/crossbarexamples/tree/master/benchmark/web
> 

Those are some nice numbers, to be sure!  Twisted really benefits from running in a pypy vm.  I have read that pypy still doesn’t optimize old-style classes as efficiently as new-style classes; I wonder if there would be any meaningful change in the metrics if resource.Resource was a new-style class instead of an old-style class.

(Note that mixing in object, e.g., class Foo(resource.Resource, object), to produce a new-style class apparently makes pypy unhappy.  See http://pypy.org/performance.html for details.)

Am I correct in stating that SO_REUSEPORT only produces the desired balancing of requests between twisted processes on Linux?

Thanks,

L. Daniel Burr

> Cheers,
> /Tobias
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python





More information about the Twisted-Python mailing list