[Twisted-Python] Twisted receiving buffers swamped?
Tobias Oberstein
tobias.oberstein at tavendo.de
Fri Jan 2 04:53:27 MST 2015
>>Unfortunately, it doesn't seem to work (the problem persists):
>Your "streaming" flag is wrong. A TCP transport is an IPushProducer (it will produce data without being asked). Try setting it to True and see if that helps?
With streaming == True and cProfile added
https://github.com/oberstet/scratchbox/blob/master/python/asyncio/tcp_echo_server_tx.py
I get strange results.
Sluggish performance:
[oberstet at brummer1 ~]$ netperf -N -H 127.0.0.1 -t TCP_STREAM -l 10 -- -P 9000
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 9000 AF_INET to 127.0.0.1 () port 9000 AF_INET : no control : histogram : interval : dirty data : demo
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
0 32768 32768 10.03 0.31
===
That is 310kb/s. Which is totally slow. The native C based netserver that comes with netperf does 46Gb/s on this test. With streaming == False, I get something like 11Gb/s with that Twisted server (until it collapsed due to OOM)
The CPU load is very low (near 0%). The memory stays flat.
Here is the profile:
https://github.com/oberstet/scratchbox/blob/master/python/asyncio/profile.log
/Tobias
More information about the Twisted-Python
mailing list