CIM performance investigation

Russell Doty rdoty at redhat.com
Thu Sep 5 13:04:17 UTC 2013


On Thu, 2013-09-05 at 09:40 +0200, Jan Safranek wrote:
> I tried to find out why our client scripts are so slow and I got quite
> surprising results.
> 
> With default lmishell and https:// through loopback, I can get ~5-10
> complete requests+responses/sec.
> 
> Bottleneck are:
> 
> 1) lmishell - it did some unnecessary queries and it was promptly fixed
> (http://reviewboard-openlmi.rhcloud.com/r/817/).
> 
> 2) lmishell - it creates nice Python objects for everything and it takes
> non-trivial amount of time (and memory), so I did my performance tests
> with native pywbem. There is not much we can do about it, I can only
> suggest to use lmishell for tasks, where performance is not that important.
Jan, can you give us at least a rough estimate of lmishell performance?
Are we talking about a factor of 2 performance difference? Factor of 10?
Factor of 100?
> 
> 2) pywbem - it opens new TCP connection for each request (rhbz#1004295)
> and TLS takes some time to establish.
> 
> 3) sblim-cmpi-base, it's really badly written and forks *a lot* for each
> request it gets, e.g. they compute amount of swap by calling
> system("cat /proc/swaps | awk '{print $3;}' | sed 1d");
> 
Ouch! How common are the really bad operations? Once per session, every
call, depends on what you are doing?
> Results with LMI_Account provider:
> 
> pywbem + https: 11 requests/sec.
> pywbem + http: 21 req/sec
> pywbem + unix socket: 25 req/sec
> pegasus native C++ library + http: 25  req/sec
> pegasus native C++ library + unix socket: 33 req/sec
> 
> Conclusions:
> 1) HTTPS decreases performance by 25%, I hope it gets much better when
> rhbz#1004295 is fixed.
> 
> 2) python decreases performance by another 25% (!), my wild guess is
> that it's because their XML parser.
> 
> 3) even with local unix socket and native c++ library, Pegasus takes
> 30ms to process one request.
> 
> Note that the tests were done on virtual HW and the amount of
> requests/sec should be taken as relative measure.
> 
> 
> Jan
> _______________________________________________
> openlmi-devel mailing list
> openlmi-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel




More information about the openlmi-devel mailing list