From 51e400c9c64b32c31c2da4a1ea7738b52d39ff48 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 29 Jun 2006 20:00:08 +0000 Subject: Remove the separate 'stats buffer' process, letting backend stats messages be delivered directly to the collector process. The extra process context swaps required to transfer data through the buffer process seem to outweigh any value the buffering might have. Per recent discussion and tests. I modified Bruce's draft patch to use poll() rather than select() where available (this makes a noticeable difference on my system), and fixed up the EXEC_BACKEND case. --- doc/src/sgml/monitoring.sgml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 11cbb5ff339..21275f9d5f0 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1,4 +1,4 @@ - + Monitoring Database Activity @@ -50,7 +50,7 @@ $ ps auxww | grep ^postgres postgres 960 0.0 1.1 6104 1480 pts/1 SN 13:17 0:00 postgres -i -postgres 963 0.0 1.1 7084 1472 pts/1 SN 13:17 0:00 postgres: stats buffer process +postgres 963 0.0 1.1 7084 1472 pts/1 SN 13:17 0:00 postgres: writer process postgres 965 0.0 1.1 6152 1512 pts/1 SN 13:17 0:00 postgres: stats collector process postgres 998 0.0 2.3 6532 2992 pts/1 SN 13:18 0:00 postgres: tgl runbug 127.0.0.1 idle postgres 1003 0.0 2.4 6532 3128 pts/1 SN 13:19 0:00 postgres: tgl regression [local] SELECT waiting @@ -60,10 +60,11 @@ postgres 1016 0.1 2.4 6532 3080 pts/1 SN 13:19 0:00 postgres: tgl reg (The appropriate invocation of ps varies across different platforms, as do the details of what is shown. This example is from a recent Linux system.) The first process listed here is the - the master server process. The command arguments + master server process. The command arguments shown for it are the same ones given when it was launched. The next two - processes implement the statistics collector, which will be described in - detail in the next section. (These will not be present if you have set + processes are background worker processes automatically launched by the + master process. (The stats collector process will not be present + if you have set the system not to start the statistics collector.) Each of the remaining processes is a server process handling one client connection. Each such process sets its command line display in the form @@ -83,6 +84,13 @@ postgres: user database host + + If you have turned off then the + activity indicator is not updated; the process title is set only once + when a new process is launched. On some platforms this saves a useful + amount of per-command overhead, on others it's insignificant. + + Solaris requires special handling. You must -- cgit v1.2.3