Обсуждение: current transaction in productive database

Поиск
Список
Период
Сортировка

current transaction in productive database

От
"ml@bortal.de"
Дата:
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

Re: current transaction in productive database

От
Jeff
Дата:
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/




Re: current transaction in productive database

От
Greg Smith
Дата:
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

Re: current transaction in productive database

От
Euler Taveira de Oliveira
Дата:
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/