Re: CPU usage
Posted in 1993
Half an aeon ago, Graeme Sargent asked: >From: uunet!pyra.co.uk!graeme (Graeme Sargent) >Subject: Re: CPU usage >Date: Thu, 17 Jun 1993 18:36:02 GMT >X-Informix-List-Id: <news.3589> >In <1vaodqINNndm@emory.mathcs.emory.edu> > eric@carsinfo.com (Eric E. Bardes) writes: >>> Recently another group joined us on our development platform and >>> brought with them an Ingres engine. Performance on the box >>> immediately degraded. Just now I looked out there and discovered the >>> Ingres engine had been up for 36 days - in that time it had racked up >>> 1448:40 of cpu time! Comparatively our FOUR Online engines have been >>> up for 115 days and have racked up a total of :58 - now I don't know >>> what they are doing up there but this seems like quite a disparity. >>Much of the real work done by OnLine is done by the sqlturbo processes. >>They do the parsing, optimizing, disk reads and writes. The Tbinit >>processes simply coordinate this effort among all the other sqlturbo's >>so that no two processes duplicate work. >Remember that the usercpu and syscpu counts in the tbstat -p profile >reputedly reflect the sum of the cpu resources used by all user >processes (which I have always interpreted to mean sqlturbos). >What's the total cpu for all four sets of daemons plus all four profiles? >We're still on dodgy ground as I don't know if Informix's definition of >"user processes" includes the daemons or not. >Anybody know if the cpu stats in the profile are reliable? OK, so I exaggerate -- about 3 weeks ago... I've done some poking around in the Version 4.10 source of OnLine and it seem that the values in the profile are the user and system cpu time for the sqlturbo processes, and of any daemons which attach to and detach from shared memory. As far as I can see, the only daemons which qualify are those used to bring mirrored chunks into line when mirroring is added to a chunk or dbspace. This means that the time used by tbinit and the page cleaners is not recorded in the profile. It also means that after tbstat -z is invoked, any sqlturbo that was running before the zeroing will add time it used both the before the stats were zeroed and after that time. Dave Kosenko said in response to one of questions: >Tbinit and tbpgcl time is not [...] reflected in that value. If zeroed >out, subsequently terminated sqlturbos will add their TOTAL time (logical, >since the zeroing doesn't affect sqlturbo, just the shared memory values >in profile_t). To find out how much CPU time has been used by the daemons -- tbinit, tbpgcl, tbundo, sqlexecd -- you would have to use ps and friends. Yours, Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>