25.1. Ç¥ÁØ Unix Åø

´ëºÎºÐÀÇ Ç÷§Æû¿¡¼­ PostgreSQL´Â ps¿¡ ÀÇÇØ º¸°íµÇ´Â °³°³ÀÇ Ä¿¸Çµå ŸÀÌÆ²À» º¯°æÇÕ´Ï´Ù. ±×¸®ÇÏ¿© µ¶¸³µÈ ¼­¹ö ÇÁ·Î¼¼½º°¡ ½±°Ô ½Äº°µÉ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. ¿¹Á¦´Â ´ÙÀ½°ú °°½À´Ï´Ù.

$ 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: 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
postgres  1016  0.1  2.4  6532 3080 pts/1    SN   13:19   0:00 postgres: tgl regression [local] idle in transaction

(psÀÇ ÀûÀýÇÑ È£Ãâ ¹æ¹ýÀº Ç÷§Æû¿¡ µû¶ó ´Ù¸£¸ç, Ç¥½ÃµÇ´Â ¼¼ºÎ»çÇ×µµ ´Ù¸¨´Ï´Ù. ÃÖ±ÙÀÇ Linux ½Ã½ºÅÛÀÇ ¿¹¸¦ »ìÆìº¸°Ú½À´Ï´Ù.) ù ¹øÂ°·Î »ìÆìº¼ ÇÁ·Î¼¼½º´Â ¸¶½ºÅÍ ¼­¹ö ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. Ç¥½ÃµÇ´Â Ä¿¸àµå ÀÎÀÚ´Â ÇÁ·Î¼¼½º ½ÃÀÛ ½Ã¿¡ ÁöÁ¤ÇÑ °Í°ú °°Àº °ÍÀÔ´Ï´Ù. ´ÙÀ½ÀÇ µÎ ÇÁ·Î¼¼½º´Â ¸¶½ºÅÍ ÇÁ·Î¼¼½º·ÎºÎÅÍ ÀÚµ¿ÀûÀ¸·Î ½ÃÀ۵Ǵ background worker ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. (½Ã½ºÅÛÀ» Åë°è ¼öÁý±â¸¦ ½ÃÀÛÇÏÁö ¾Êµµ·Ï ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì, "stats collector"ÇÁ·Î¼¼½º´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.) ³²¾ÆÀÖ´Â ÇÁ·Î¼¼½º´Â °¢°¢ ÇϳªÀÇ Å¬¶óÀÌ¾ðÆ® Á¢¼ÓÀ» ´Ù·ç´Â ¼­¹ö ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. °¢ ÇÁ·Î¼¼½º´Â ´ÙÀ½ÀÇ Çü½ÄÀÇ Ä¿¸àµå ¶óÀΠǥ½Ã¸¦ ¼³Á¤ÇÕ´Ï´Ù.

postgres: 
user
 
database
 
host
 
activity

»ç¿ëÀÚ, µ¥ÀÌÅͺ£À̽º, Á¢¼Ó ¼Ò½º È£½ºÆ® Ç׸ñÀº Ŭ¶óÀÌ¾ðÆ® Á¢¼Ó Áß¿¡´Â °°Àº »óÅ·ΠÀ¯ÁöµÇÁö¸¸, Ȱµ¿ »óȲÀ» ³ªÅ¸³»´Â ºÎºÐÀº ¹Ù²ò´Ï´Ù. Ȱµ¿ »óȲÀº idle (Áï, Ŭ¶óÀÌ¾ðÆ® Ä¿¸àµå ´ë±â »óÅÂ), idle in transaction(BEGINºí·Ï ³»ºÎÀÇ Å¬¶óÀÌ¾ðÆ® ´ë±â »óÅÂ), ¶Ç´ÂSELECT¿Í °°Àº Ä¿¸àµå ŸÀÔ¸íÀÌ µË´Ï´Ù. ¶ÇÇÑ, ±× ¼­¹ö ÇÁ·Î¼¼½º°¡ ´Ù¸¥ ¼­¹ö ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ¶ôÀ» ±â´Ù¸®´Â »óÅÂÀÇ °æ¿ì´Â, waiting°¡ ºÎ¿©µË´Ï´Ù. À§ÀÇ ¿¹¿¡¼­´Â, ÇÁ·Î¼¼½º 1003ÀÌ ÇÁ·Î¼¼½º 1016¿¡ ´ëÇØ Æ®·£Àè¼Ç(transaction)ÀÇ ¿Ï·á¿Í ±×¿¡ µû¸£´Â ¶ô µîÀÇ ÇØÁ¦À» ±â´Ù¸®°í ÀÖ´Ù°í ÃßÃøÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

update_process_titleÀ» ÁßÁö½ÃÄ×À» °æ¿ì, Ȱµ¿ Á¤º¸¸¦ ³ªÅ¸³»´Â ºÎºÐÀº °»½ÅµÇÁö ¾Ê½À´Ï´Ù. »õ·Î¿î ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÆÀ» ¶§ ÇÑ ¹ø, ÇÁ·Î¼¼½º ŸÀÌÆ²ÀÌ ¼³Á¤µË´Ï´Ù. ÀϺΠÇ÷§ÆûÀº ÀÌ·Î ÀÎÇØ °¢ Ä¿¸àµåÀÇ overhead¸¦ À¯¿ëÇÏ°Ô Àý¾àÇϱ⵵ Çϰí, ÀüÇô Àǹ̰¡ ¾ø´Â °Íµµ ÀÖ½À´Ï´Ù.

Tip: Solaris´Â Ưº°ÇÑ Ãë±ÞÀ» ¿ä±¸ÇÕ´Ï´Ù. /bin/psº¸´Ù´Â /usr/ucb/ps¸¦ »ç¿ëÇØ¾ß¸¸ ÇÕ´Ï´Ù. ¶ÇÇÑ, wÇ÷¡±×¸¦ ÇÑ °³°¡ ¾Æ´Ñ µÎ °³¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. °Ô´Ù°¡ ¿ø·¡ postgresÄ¿¸Çµå È£ÃâÀº °¢ ¼­¹ö ÇÁ·Î¼¼½º¿¡¼­ Á¦°øµÇ´Â °Íº¸´Ù °£·«ÇÑ ps»óÅ ǥ½Ã¸¦ °¡Á®¾ß ÇÕ´Ï´Ù. 3°¡Áö Á¶°ÇÀ» ¸ðµÎ ¸¸Á·½ÃŰÁö ¾ÊÀ¸¸é, °¢ ¼­¹ö ÇÁ·Î¼¼½ºÀÇ ps Ãâ·ÂÀº ¿ø·¡ postgresÀÇ Ä¿¸àµå ¶óÀÎÀÌ µÉ °ÍÀÔ´Ï´Ù.