Re: How to track number of connections and hosts to Postgres cluster

Поиск
Список
Период
Сортировка
От Greg Spiegelberg
Тема Re: How to track number of connections and hosts to Postgres cluster
Дата
Msg-id CAEtnbpX2onjBb5sJ2znUinbCMmhXHaii9NwP=z4+iTn_xWNQXQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: How to track number of connections and hosts to Postgres cluster  (Greg Smith <greg@2ndQuadrant.com>)
Ответы Re: How to track number of connections and hosts to Postgres cluster  (Maciek Sakrejda <msakrejda@truviso.com>)
Список pgsql-performance
On Wed, Aug 24, 2011 at 9:33 AM, Greg Smith <greg@2ndquadrant.com> wrote:
On 08/24/2011 07:07 AM, Venkat Balaji wrote:
But, if put log_connections to on and log_disconnections to on wouldn't the Postgres be logging in lot of data ?
Will this not be IO intensive ? I understand that this is the best way, but, would want to know if there is an other way to reduce IO ( may be through queries to catalog tables ).


Your requirements include:  " I need all the host IPs making a connection to Postgres Cluster (even for a fraction of second)."

The only way to do this is to log every connection.  Any other approach for grabbing the data, such as looking at pg_stat_activity, will sometimes miss one.

If you're willing to lose a connection sometimes, a cron job that polls pg_stat_activity and saves a summary of what it finds will normally use less resources.  But connections that start and end between runs will be missed.


I suppose you could use tcpdump on a separate system with a mirrored switch port and have it log TCP SYN and FIN packets on port 5432 to your database server only.  Keeps all I/O off your database server.

    tcpdump -w port5423.log -n "tcp and port 5432 and tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and host IP"

HTH.

Greg

В списке pgsql-performance по дате отправления:

Предыдущее
От: Greg Smith
Дата:
Сообщение: Re: How to track number of connections and hosts to Postgres cluster
Следующее
От: David Boreham
Дата:
Сообщение: Intel 320 SSD info