Re: could use some assistance in tracking down some current issues

Irmen de Jong <[email protected]>
Newsgroups gmane.comp.python.pyro
Message-ID <[email protected]>
On 20-8-2013 11:34, Éric Piel wrote:
> On 19/08/13 11:14, Irmen de Jong wrote:
>> Hi,
>>
>> I find that I have relative difficulty in solving some current issues in Pyro4, and
>> could use some assistance.  We're talking about :
>>
>> #18 improve some unit tests that hang in certain cases
>> #19 performance regression in connection creation
>> #21 eventloop example is very slow with multiple calls
>>
>> See https://github.com/irmen/Pyro4/issues?milestone=2&page=1&state=open
>>
>> At the very least, I'd like to hear what the results are of running the full Pyro4 unit
>> test suite on your system. Please include python version and OS used.
> Hei Irmen,
> 
> I'm not entirely sure what kind of output you need. But here is the
> results of running the test cases/benchmarks on my system (Ubuntu
> 12.04.2 32bits with python 2.7).
> 
> =================================================
> Indeed it blocks in testPingMessage:

[...]

ok, that is not good, but was expected.


> 2000 connections in 10.381 sec = 193 conn/sec
> 2000 new proxy calls in 127.295 sec = 16 calls/sec
> 10000 calls in 800.072 sec = 12 calls/sec

This is painfully slow... It appears there's something really not right with the
networking code running on Linux, and not only with the connection creation :-(
I get the same results on my Ubuntu VM btw.

For comparison, here is the same code running on windows7:
2000 connections in 2.166 sec = 923 conn/sec
2000 new proxy calls in 2.886 sec = 693 calls/sec
10000 calls in 2.348 sec = 4259 calls/sec



> The server gave this error while running (but kept serving):
[...]
> ProtocolError: message used serializer that is not accepted: 4

That is really odd, the client shouldn't use pickle (4) unless you tell it to. I have
not seen this happening unless someone else is connecting as well that is configured to
use pickle as serializer.


> =========================================
> eventloop slow with multiple calls: I don't know how to test.
> $ python ./eventloop/client.py
> 5*11=55
> 'x'*10=xxxxxxxxxx
> press enter to do two more calls:
> 2*4=8
> '@'*3=@@@
> 
> (That looked like less than a second, both multiplex and threaded)

I've very recently updated this example to use a loop in the client, that should finish
almost instantaneous because it is only 20 iterations. It does that on windows and OSX,
but on Linux, it takes much longer with only a few calls/sec



> ===========================================
> Just let me know if I can try more things. If you want I can try also to
> run it on Ubuntu 13.10 64 bits.

That's not necessary, I've got that set up in a VM myself.


Cheers
Irmen de Jong


------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.