Re: How can I get throughput of informix such as how many query/update operations per second?
Posted in 2007
Hi,
start a single process and test your application for about ten minutes.
Ensure that you have started your database server with "WSTATS 1" in
your configuration file ( $ONCONFIG ).
Before starting your application run "onstat -z".
After starting your application identify the session id of your
application ( onstat -g ses )
How to get the number of "inserts, updates, deletes, commits and
rollbacks":
echo "select * from syssesprof where sid = <your-sid>" | dbaccess
sysmaster
How to get the amount of cpu-time spent for all queries of your
session:
echo "select sum(cumtime) from sysseswts where sid = <your-sid> and
reason = 'running'" -- microseconds
How to get overall response time ( point of view of our IDS ):
echo "select sum(cumtime) from sysseswts where reason != 'condition'
and sid = <your-sid> -- microseconds
How to get the time spent by your application ( IDS was waiting for
sth. to do ):
echo "select sum(cumtime) from sysseswts where reason = 'condition' and
sid=<your-sid>"
The number of "physical disk I/O" operations can be estimated by:
echo "select sum(pagreads), sum( pagwrites ), dbsnum dbspace_number
from syschktab group by 3" | dbaccess sysmaster
( The physical disk I/O can become more or less expensive, depending on
your BUFFER POOLS ). Keep in mind that your system might be able to
handle up to 100-200 disk I/Os per physical disk and second. Having an
EMC system with 200 disks ( RAID 10 ) you can handle up to 32.000 I/Os
per second ( for a single row access of your application this ends in
64MB/sec ) for read operations, and only 32MB/sec for permanent write
operations ( might be important for your logical log I/O ).
Finally, check your NET-vps ( tli, soc, str, shm ). Run "onstat -g glo"
and get the amount of cpu-time ( system+user) spent by your NET-vps.
The cpu-time spent for incoming network traffic is part of your
"running" time displayed with "select sum(cumtime) from sysseswts", but
might become a bottleneck if you run several applications. In this case
you should increase the number of NET-vps.
Best regards,
Stefan Weideneder
eagle_jyjh@citiz.net schrieb:
> Given an database, how can I get the throughput of informix ?
> such as how many query/update opertions per seconds informx can
> support?
> Because my application may submit serveral thousands of database
> operations per seconds,
> I want to calculate how many prcocess of my application can be started.