Akara/Shanti/olio-dev hi,
     Here is what I am currently trying to do. I need a relative estimate of
how much time is spend on the db queries, the requests from the filestore
(NFS rpcs) and the web-server processing the user requests. Ideally, this
can be a great feature for Olio. Imagine having to debug a performance issue
and olio providing an average breakdown of response time to web/db/filestore
time. It would immediately tell you where you should start looking for the
problem. Additionally would immediately tell you how much you can improve
you performance by upgrading your storage hardware, optimizing your queries,
adding more resources to your web-server etc.
I understand this is pretty hard to implement, because db queries, filestore
accesses  can be done by multiple files and proper accounting should be
supported by Faban (send back to the users/master).
Some thoughts:
- *Where to start: *It appears that the php code on the server side is the
only place where this can be done.
- *Storage:* This makes sense only per user, so the session is probably a
logical place to store this info.
- *Organization*: Since response time is measured per operation with Faban,
this also needs to be per operation.
- *Timestamps:* I believe from php I could use getMicroTime() before I start
a query, call it again after it's done and get a diff.
- *Overhead:* Since I will have to log the result in the sessions for every
operation this will likely be a performance killer. Sampling can be applied
to do logging every 100 requests or so.

Insights, ideas are most welcome.

Thanks
-------------------------------------------------------------------
Kontorinis Vasileios
Phd student, University of California San Diego
http://cseweb.ucsd.edu/~vkontori/
[email protected]
-------------------------------------------------------------------

Reply via email to