Hi,
I'm trying to develop a performance profile / model for an application that
has been developed using the Informix Online Dynamic Server v7.1. The Server is
being called by programs written in "C", which use the ESQL interface.
My question is the following:
I am observing a very high CPU utilization rate by the virtual processor "cpu" in
the online engine (via "onstat -g glo"), which leads me to believe that the system
is largely processor bound.
This counters the intuition that disk accesses should be much more expensive than
processor time, especially on machines such as IBM's Compact Server C10 that I'm
using to benchmark the application.
This seems to imply to me one of the following :
Perhaps the thread/virtual processor is blocking on I/O during heavy read/write
time, and simply spins away CPU cycles while waiting (meaning there's no kernel
support for user threads?? -- this is AIX 3.1.2 I'm using) ??
Perhaps the writes are cached at a transaction granularity (or even coarser) and
blasted out many at a time?
How do I check whether writes are being cached? I have searched the Online Dynamic
Server Performance Guide, but so far to no avail.
Also, does someone have an explanation as to why a process performing, say 500 writes
to a table containing approximately 500,000 rows, would be CPU bound in the Informix
Engine?? It doesn't particularly bother me that it is, but that I cannot intuitively
explain it is bothersome.
I'd appreciate any help or pointers to relevant information, and if you could respond
by e-mail as well as posting, I'd be very appreciative.
Thanks,
Scott Miller
Siemens Rolm Communications