Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
icon5.gif   HW Requirements to run elog / Performance issues running on ARM, posted by Tim Thiel on Wed May 9 21:48:42 2012 elogd-001.cfg
    icon2.gif   Re: HW Requirements to run elog / Performance issues running on ARM, posted by Yoshio Imai on Thu May 10 15:34:39 2012 
       icon2.gif   Re: HW Requirements to run elog / Performance issues running on ARM, posted by Tim Thiel on Thu May 10 16:35:50 2012 
          icon2.gif   Re: HW Requirements to run elog / Performance issues running on ARM, posted by Stefan Ritt on Fri May 11 13:20:35 2012 
             icon2.gif   Re: HW Requirements to run elog / Performance issues running on ARM, posted by Tim Thiel on Mon May 14 22:19:50 2012 
                icon2.gif   Re: HW Requirements to run elog / Performance issues running on ARM, posted by Stefan Ritt on Tue May 15 08:35:16 2012 
Message ID: 67275     Entry time: Tue May 15 08:35:16 2012     In reply to: 67273
Icon: Reply  Author: Stefan Ritt  Author Email: stefan.ritt@psi.ch 
Category: Question  OS: Linux  ELOG Version: 2.9.0 
Subject: Re: HW Requirements to run elog / Performance issues running on ARM 

Tim Thiel wrote:

Stefan Ritt wrote:

Tim Thiel wrote:

Yoshio Imai wrote:

Hi!

Looking at your config file it seems that a lot of the attributes are not user-specified but rather auto-generated content. You may want to consider using the elog client to submit such entries; this might avoid performance issues related to communication of the server with the web browser used for entry generation. This way, event entries can even be automatically created by other software rather than having a user to submit them.

Yoshio

 Yoshio,

Thanks for the suggestion.

We have actually tried running the elog server with a very minimal set of attributes, all of which were human entries, and still had response times that were entirely unacceptable.  So, unfortunately this path won't solve all our issues.

tt

 

Yes there is lots of string handling in elogd, but compared with PHP this is still faster. The getcfg() call actually caches the contents of the config file to improve its performance. I stopped optimization when the response was quick on a 800 MHz Pentium originally, but your 250 MHz ARM might be slower. What you can try is to

1) Verify that the CPU is really the limit, just check that the CPU is at 100% with elogd during your 10 second response time. On some installations, the submit command triggers some email notification, and actually the email server was the bottleneck.

2) If it's indded the CPU for elogd, run it under the gcc profiler. Identify which routines take most CPU and let me know. Maybe I can do something about that.

 

- Stefan

 Stefan,

Thanks for your feedback. 

We had confirmed that the CPU load is running at at least 95% while these requests are being processed.  Additionally, we were attempting to use gprof to determine where the code was spending its time.  We have had several problems with trying to use gprof on that platform, both with using it for elog (we get seg faults) and then with using it on a small program created to test gprof on our particular setup (program runs; we get an output file; but all routines show that zero seconds were used).  So, unfortunately, I can not, at this point, provide a good idea of which routines are using the most CPU on this platform.  If we are able to get profiling results on this particular platform, I will certainly share them with you.

A possibly more relevant angle is that we have determined that executing floating-point operations seems to have a drastic impact on software execution times.  Can you point us to routines in the elogd code where floating point operations are taking place?

Thanks,

Tim

As far as I can remember there is no floating point in elog. 

ELOG V3.1.5-3fb85fa6