Обсуждение: current transaction in productive database
Hello List, is there a way to find out, how many transactions my currenc productive database is doing? I know know how much i an offer with my new database and hardware, but i would also like to know what i actually _need_ on my current productive system. Is there a way to find this out? Cheers, Mario
On Mar 20, 2009, at 5:26 AM, ml@bortal.de wrote: > Hello List, > > is there a way to find out, how many transactions my currenc > productive database is doing? > > I know know how much i an offer with my new database and hardware, > but i would also like to know what i actually _need_ on my current > productive system. > > Is there a way to find this out? Are you looking to see how many transactions per second or more how many transactions concurrently at a given time? For the former you can use pgspy (its on pgfoundry) to get an idea of queries per second coming in. For the latter, just select * from pg_stat_activity where current_query <> '<IDLE>'; -- Jeff Trout <jeff@jefftrout.com> http://www.stuarthamm.net/ http://www.dellsmartexitin.com/
On Fri, 20 Mar 2009, ml@bortal.de wrote: > is there a way to find out, how many transactions my currenc productive > database is doing? What you probably want here is not a true transaction count, which might include thing that don't matter much for scaling purposes, but instead to count things happening that involve a database change. You can find out totals for that broken down by table using this: select * from pg_stat_user_tables See http://www.postgresql.org/docs/8.3/static/monitoring-stats.html for more details. You'll want to sum the totals for inserts, updates, and deletes to get all the normal transcations. That will be a total since the statistics were last reset. If you want a snapshot for a period, you can either sample at the beginning and end and subtract, or you can use: select pg_stat_reset(); To reset everything, wait for some period, and then look at the totals. You may not want to do that immediately though. The totals since the database were brought up that you'll find in the statistics views can be interesting to look at for some historical perspective, so you should probably save any of those that look interesting before you reset anything. -- * Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD
ml@bortal.de escreveu: > is there a way to find out, how many transactions my currenc productive > database is doing? > If you're looking for number of transactions then you can query the catalogs as: $ export myq="select sum(xact_commit+xact_rollback) from pg_stat_database" $ psql -U postgres -c "$myq" && sleep 60 && psql -U postgres -c "$myq" sum ----------- 178992891 (1 row) sum ----------- 178996065 (1 row) $ bc -q scale=3 (178996065-178992891)/60 52.900 Depending on your workload pattern, it's recommended to increase the sleep time. -- Euler Taveira de Oliveira http://www.timbira.com/