|
1. MTS¿Í SHARED_POOL_SIZE
MTS ȯ°æÇÏ¿¡¼ ¿À¶óŬ¿¡ Á¢¼ÓÇÏ´Â °æ¿ì¿¡´Â User Process, Dispatcher, Shared Server°£ÀÇ Åë½ÅÀ» À§ÇÑ Á¤º¸°¡ SGA¿µ¿ª¿¡ ÀúÀåµÇ¹Ç·Î SGA¿µ¿ªÀ» º¸´Ù Å©°Ô ¼³Á¤ÇÏ¿©¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î À¯Àú´ç 1kb¾¿ Shared_Pool_Size ¿µ¿ªÀ» ´Ã·ÁÁÖ¸é µÈ´Ù. ´ÙÀ½ SQL ¹®À¸·Î SGA¿µ¿ªÀÇ Free Space¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
SELECT * FROM V$SGASTAT WHERE NAME = 'free memory';
2. MTS TUNING
MTS ȯ°æ¿¡¼´Â Dispatcher¿Í Shared Server¿¡ ´ëÇÑ °æÇÕ(Contention)À» ÁÙÀÌ´Â °ÍÀÌ Áß¿äÇÏ´Ù. Dispatcher¿¡ ´ëÇÑ °æÇÕÀº ´ÙÀ½°ú °°Àº Çö»ó¿¡¼ ¾Ë¾Æº¼ ¼ö ÀÖ´Ù.
DispatcherÀÇ High Busy Rate
DispatcherÀÇ Response Waiting TimeÀÇ Áß°¡
´ÙÀ½ SQL¹®À¸·Î °¢ DispatcherÀÇ Busy RateÀ» ¾Ë¾Æº¼ ¼ö ÀÖ´Ù.
SELECT NETWORK "PROTOCOL",
SUM(BUSY)/(SUM(BUSY)+SUM(IDLE)) "TOTAL BUSY RATE"
FROM V$DISPATCHER
GROUP BY NETWORK;
¸¸¾à °¢ ÇÁ·ÎÅäÄÝÀÇ Dispatcher¿¡ ´ëÇÑ Busy RateÀÌ 50%º¸´Ù Å« °æ¿ì¿¡´Â ÇØ´ç ÇÁ·ÎÅäÄÝÀÇ Dispatcher °³¼ö¸¦ ´Ã·ÁÁÖ¾î¾ß ÇÑ´Ù.
Response QueueÀÇ Wait TimeÀº ´ÙÀ½ SQL¹®À¸·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.
SELECT NETWORK "PROTOCOL",
DECODE(SUM(TOTALQ),0, 'NO RESPONSES',
SUM(WAIT)/SUM(TOTALQ) || ' HUNDREDTHS OF SECONDS')
"AVERAGE WAIT TIME PER RESPONSE"
FROM V$QUEUE Q, V$DISPATCHER D
WHERE Q.TYPE='DISPATCHER' AND Q.PADDR=D.PADDR
GROUP BY NETWORK;
ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸é¼ Average Wait TimeÀÌ Áö¼ÓÀûÀ¸·Î Áõ°¡ÇÑ´Ù¸é ÇØ´ç ÇÁ·ÎÅäÄÝÀÇ Dispatcher¸¦ Ãß°¡ÇÔÀ¸·Î½á Performance¸¦ Áõ´ë½Ãų ¼ö ÀÖ´Ù.
Shared Server¿¡ ´ëÇÑ °æÇÕÀº Request Queue¿¡ ½×ÀÌ´Â RequestÀÇ Waiting TimeÀÌ Áõ°¡ÇÏ´Â °ÍÀ¸·Î ¾Ë ¼ö ÀÖ´Ù. ´ÙÀ½ SQL¹®À» ÀÌ¿ëÇϸé Request Waiting TimeÀ» ¾Ë ¼ö ÀÖ´Ù.
SELECT DECODE(TOTALQ, 0, 'NO REQUESTS', WAIT/TOTALQ ||
' HUNDREDTHS OF SECONDS')
"AVERAGE WAIT TIME PER REQUESTS"
FROM V$QUEUE
WHERE TYPE='COMMON';
Shared ServerÀÇ °³¼ö´Â ¿À¶óŬ¿¡ ÀÇÇؼ ÀÚµ¿ÀûÀ¸·Î Á¶ÀýµÇ±â ¶§¹®¿¡ »ç¿ëÀÚ°¡ Á÷Á¢ Shared ServerÀÇ °³¼ö¸¦ ´Ã·ÁÁÙ ÇÊ¿ä´Â ¾ø´Ù. ´Ü, Mts_Max_Servers¿¡ ÁöÁ¤µÈ °³¼ö ÀÌ»óÀ¸·Î´Â ´Ã¾î³ªÁö ¾ÊÀ¸¹Ç·Î ÀÌ °ªÀ» ³Ê¹« ÀÛ°Ô ¼³Á¤ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. Âü°í·Î DispatcherÀÇ °³¼ö´Â ¿À¶óŬ¿¡ ÀÇÇؼ ÀÚµ¿ÀûÀ¸·Î Á¶ÀýµÇÁö ¾ÊÀ¸¹Ç·Î DBA°¡ Á÷Á¢ °¡°¨½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù.
|