[thread_cache_size]
¸¹ÀÌ Çò°¥¸®´Â ÀÌ ºÎºÐ¿¡ ´ëÇØ¼ ¼³¸íÇÕ´Ï´Ù.
¸ÕÀú ÀÌ °ªÀº bytes ´ÜÀ§ µîÀÇ Å©±â°¡ ¾Æ´Õ´Ï´Ù.
Á¤¼ö ´ÜÀ§ÀÇ '¼ö'¸¦ ÀǹÌÇÕ´Ï´Ù.
(mysql¿¡¼ ´ÜÀ§¸¦ Çò°¥¸®°Ô ÇÏ´Â ºÎºÐÀÓ)
mysql Ŭ¶óÀÌ¾ðÆ®°¡ mysql ¼¹ö¿¡ Á¢¼ÓÇÒ¶§(Connections)
thread¸¦ »ý¼ºÇϴµ¥ cache¿¡ thread°¡ ÀÖÀ¸¸é »ý¼ºÇÏÁö
¾Ê°í ±× thread ¸¦ »ç¿ëÇÕ´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®¿¡¼ Á¢¼ÓÀÌ ²÷¾îÁö¸é(disconnects)
MySQL ¼¹ö´Â
ÀÌÀüÀÇ Å¬¶óÀÌ¾ðÆ® thread ¼ö°¡ thread_cache_size °ªº¸´Ù
ÀÛÀ¸¸é ÇöÀç thread¸¦ cache ¿¡ ¿Ã·Á³õ½À´Ï´Ù.
cache¿¡ ¿Ã·Á³õÀº thread´Â Threads_cached·Î È®ÀÎÇÒ ¼ö
ÀÖ½À´Ï´Ù.(ÀÌ Á¤º¸°¡ ºüÁ®ÀÖ±º¿ä)
cache¿¡ ÀÖ´Â thread Àç»ç¿ë¼ö ¼³Á¤ ==> thread_cache_size
ÀÔ´Ï´Ù. Áï ¾ó¸¸ ¸¸ÅÀÇ thread ¼ö¸¦ cache¿¡ ¿Ã·Á³õÀ»
°ÍÀÎÁö °áÁ¤ÇÏ´Â Ç׸ñÀÔ´Ï´Ù.
¿©±â¿¡¼ cache¿¡ ÀÖ´Â thread¸¦ »ç¿ëÇÏÁö ¾Ê°í
»õ·Î¿î thread°¡ »ý¼ºµÇ¸é Threads_created °ªÀÌ 1¾¿
Áõ°¡Çϰí, cache¿¡ ÀÖ´Â thread¸¦ »ç¿ëÇÒ °æ¿ì´Â
Threads_created °ªÀº Áõ°¡ÇÏÁö ¾Ê½À´Ï´Ù.
±âÁØÀº Questions°¡ ¾Æ´Ï°í Connections ÀÔ´Ï´Ù.
Áï Connections °ª°ú Threads_created °ª, ±×¸®°í
ÇöÀç MySQL ¼¹ö°¡ ¾ó¸¶Á¤µµ·Î ¹Ù»ÛÁö¸¦ ÆÄ¾ÇÇÏ¿©
ÀÌ thread_cache_size °ªÀ» Á¶ÀýÇØ Áà¾ß ÇÕ´Ï´Ù.
±âº»°ªÀº thread_cache_size = 0 ÀÔ´Ï´Ù.
ÀÌ Àǹ̴ Connections ÀÌ ÀÌ·ç¾îÁú¶§ cache¿¡ ÀÖ´Â
thread¸¦ »ç¿ëÇÏÁö ¸»°í »õ·Î¿î thread¸¦ »ý¼ºÇÏ¿© »ç¿ë
Ç϶ó´Â ÀǹÌÀÔ´Ï´Ù.
Áï ¸Å¿ì ¹Ù»Û MySQL ¼¹ö°¡ ¾Æ´Ï¸é 0 ¶Ç´Â 2 °ª Á¤µµ¸é
ÃæºÐÇÕ´Ï´Ù.
±×·¯³ª MySQL ¼¹ö°¡ »ó´çÈ÷ ¹Ù»Ú°í(STATUS == busy ÀÌ»ó)
ÀÌ °ªÀÌ ÀÛÀ¸¸é ConnectionsÀÌ ÀÌ·ç¾îÁú¶§¸¶´Ù »õ·Î¿î
thread°¡ »ý¼ºµÈ´Ù´Â ´ÜÁ¡(?)ÀÌ ÀÖ½À´Ï´Ù.
MySQL ¿µ¹® ¸Å´º¾ó¿¡¼´Â Threads_created °ªÀÌ Å©¸é(big)
thread_cache_size °ªÀ» ¿Ã·ÁÁÖ¶ó°í ±Ç°íÇÏÁö¸¸
¾ó¸¶¸¸ÅÀÌ ±× ±âÁØÀÎÁö¿¡ ´ëÇØ¼´Â µû·Î ¾ð±ÞÀÌ ¾ø½À´Ï´Ù.
´Ù¸¸ (Threads_created / Connections)°ªÀ» °è»êÇØ º¸¶ó´Â
Á¤µµÀÔ´Ï´Ù.
±×·¸´Ù¸é ¼º´É¸éÃø¿¡¼ »ý°¢Çغ¸¸é,
¼¹ö°¡ »ó´çÈ÷ ¹Ù»Ú¸é »õ·Î¿î thread ¸¦ »ý¼ºÇÏ¿© »ç¿ëÇÏ´Â
°Í º¸´Ù´Â ±âÁ¸ÀÇ cache ¿¡ ÀÖ´Â thread¸¦ Àç»ç¿ëÇÏ´Â
°ÍÀÌ ´õ À¯¸®ÇÕ´Ï´Ù.
±×·¯³ª ¼º´É ÁÁÀº thread ½ÇÇà(implementation)
½Ã½ºÅÛ¿¡¼´Â
±×¸® Å©°Ô ³´Àº ¼º´ÉÀº ¾ø½À´Ï´Ù.
¾î°ư ¼¹ö°¡ ¸Å¿ì ¹Ù»Û Á¤µµ¶ó¸é ÀÌ °ªÀ» ¾î´À Á¤µµ±îÁö
¿Ã·ÁÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
º» ÇÁ·Î±×·¥¿¡¼´Â (Threads_created / Connections)°ªÀÌ
0.01 Áï 1% ÀÌ»óÀ̸é thread_cache_size °ªÀ» ¿Ã·ÁÁÖ¶ó°í
commentsÇϰí ÀÖ½À´Ï´Ù.
º¸Åë none interactive ¸ðµå¿¡¼,
ÇϳªÀÇ Ä¿³Ø¼ÇÀÌ ¸Î¾îÁö°í exit ±îÁö´Â ´ë·« 1ÃÊ ¹Ì¸¸ÀÌ ´ëºÎºÐÀÔ´Ï´Ù.
±æ°Ô 1Ãʶó°í °¡Á¤Çϰí,
¾ó¸¶ÀÚ ÀÚÁÖ Ä¿³Ø¼ÇÀÌ µé¾î¿À´ÂÁö(ÃÊ´ç Ä¿³Ø¼Ç)¸¦ °è»êÇϸé,
Ä¿³Ø¼Ç °ü·Ã Åë°è
(
cps = Connecions / Uptime ; // ÃÊ´ç Ä¿³Ø¼Ç ¼ö
spc = Uptime / Connections ; // Ä¿³Ø¼Ç ÁÖ±â(ÃÊ)
cpq = Question / Connections ; // Ä¿³Ø¼Ç´ç ¿äû Äõ¸® ¼ö
)
cps °ªÀ¸·Î ¾Ë ¼ö ÀÖ½À´Ï´Ù.
Æò±ÕÀûÀÎ °è»êÀ̱⠶§¹®¿¡ ÀÌ cps °ªÀÌ ÇÊ¿ä·Î ÇÏ´Â thread_cache_size
°ªÀÌ µË´Ï´Ù. ÀÌ cps °ªµµ ÇѰ谡 ÀÖÁÒ.. max_connections ÀÌ Á¦ÇÑÁ¡À̱â
¶§¹®¿¡..
µû¶ó¼,
ccps : ceil(Connecions / Uptime); // ¿Ã¸²
ÃÖ¼Ò : (1 ÃÊ * ccps) + 0
±ÇÀå : (2 ÃÊ * ccps) + 1
ÃÖ´ë : (3 ÃÊ * ccps) + 2
±Ø´ë : (4 ÃÊ * ccps) + 3
ÀÌ Á¤µµ·Î °è»êÇÏ¸é µË´Ï´Ù.
´Ü, °è»êµÈ thread_cache_size µµ ÇѰ谡 ÀÖ½À´Ï´Ù.
´ç¿¬È÷ max_connections º¸´Ù ÀÛ¾Æ¾ß Çϰí, 1 Àý¿¡¼ ±¸ÇÑ LTP ¿¡ ÀÇÇØ¼
(LPT * cps) º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ back_log º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù.
[thread_cache_size °ªÀ» ¼³Á¤ÇÏ´Â ¹æ¹ý]
1. MySQL 4.0.3 ÀÌ»óÀ̸é
mysql> SET GLOBAL thread_cache_size = 8;
2. MySQL 4.0.3 ÀÌÇÏÀ̸é
shell> mysqladmin [OPTIONS] shutdown
shell> safe_mysqld -O thread_cache_size=8 &
¶Ç´Â /root/.my.cnf
[mysqld]
...
set-variable = thread_cache_size=8
...
ÀÌ·¸°Ô Ãß°¡Çϰí
shell> safe_mysqld &
3. ½Ã½ºÅÛ ÀçºÎÆÃ½Ã ÀÚµ¿À¸·Î ¼³Á¤ÇØ ÁÙ °æ¿ì
/etc/rd.c/rc.local ÆÄÀÏ ÀÌ¿ë½Ã
safe_mysqld -O thread_cache_size=8 &
±ÇÀå ¹æ¹ý
safe_mysqld --defaults-file=/root/.my.cnf &
*ÁÖÀÇ)
rc.local ÆÄÀÏ¿¡ `safe_mysqld &` ÀÌ¿Í °°ÀÌ ÀÔ·ÂÇϸé
/root/.my.cnf ³»¿ëÀ» ÂüÁ¶ÇÏÁö ¸øÇÏ´Â °æ¿ì°¡ ÀÖÀ¸¹Ç·Î
--defaults-file=/root/.my.cnf ¿É¼ÇÀ» Ãß°¡ÇØ ÁÖ´Â °ÍÀÌ
ÁÁ½À´Ï´Ù.
|