BACKRUSH  À¯´Ð½º¸í·É  ´ÙÀ½  ÀÚ·á½Ç  Ascii Table   ¿ø°ÝÁ¢¼Ó  ´Þ·Â,½Ã°£   ÇÁ·Î¼¼½º   ½©
ÁöÇÏö³ë¼±   RFC¹®¼­   SUN FAQ   SUN FAQ1   C¸Þ´º¾ó   PHP¸Þ´º¾ó   ³Ê±¸¸®   ¾Æ½ºÅ°¿ùµå ¾ÆÀÌÇǼ­Ä¡

±Û¾´ÀÌ: web WebLogic Æ©´× Æ÷ÀÎÆ® Á¶È¸¼ö: 20064



http://blog.theple.com/onejuly/folder/6.html?uid=38

WAS´Â ´Ü¼øÈ÷ µµÀÔ¸¸ Çß´Ù°í Çؼ­ ¸ðµç °ÍÀÌ ³¡³­ °ÍÀÌ ¾Æ´Ï´Ù. Çϵå¿þ¾î, ¿î¿µÃ¼Á¦, ³×Æ®¿öÅ©, µ¥ÀÌÅͺ£À̽º µî ¿©·¯ ´Ù¾çÇÑ È¯°æ°ú °ü°è¸¦ ¸Î°í Àֱ⠶§¹®¿¡ °¢ ºÐ¾ß¿¡ ¸Â´Â Æ©´×À» ÅëÇØ º¸´Ù ¾ÈÁ¤ÀûÀÌ°í ºü¸¥ ¼­ºñ½º¸¦ ¸¸³£ÇÒ ¼ö ÀÖ´Ù. WAS Áß ÇϳªÀÎ BEA À¥·ÎÁ÷ ¼­¹öÀÇ ¿¹¸¦ ÅëÇØ WASÀÇ Æ©´× °úÁ¤ÀÌ ¾î¶»°Ô ÀÌ·ïÁö°í ¾î¶² È¿°ú¸¦ ³¾ ¼ö ÀÖ´ÂÁö ¼Ò°³ÇÑ´Ù.


¿ª»çÀûÀ¸·Î º¸¸é ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¶ó´Â ¿ë¾î´Â Ŭ¶óÀ̾ðÆ®/¼­¹ö°¡ ÄÄÇ»Æà ȯ°æÀ¸·Î äÅõǸ鼭ºÎÅÍ »ç¿ëµÆ´Ù°í ÇÒ ¼ö ÀÖ´Ù. º¸´Ù ±¸Ã¼ÀûÀ¸·Î´Â Ŭ¶óÀ̾ðÆ®/¼­¹ö ȯ°æÀÌ 2°èÃþ ±¸Á¶¿¡¼­ 3°èÃþ ±¸Á¶·Î º¯È­µÅ °¡´Â °úÁ¤¿¡¼­ ºñ·ÔµÆ´Ù°í ÇÒ ¼ö ÀÖ´Ù.
3°èÃþ ±¸Á¶¿¡¼­´Â »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡ ´ëÇÑ °ü¸® ±â´ÉÀ» Á¦°øÇÏ´Â Áß°£ °èÃþÀÎ ¹Ìµé¿þ¾î³»¿¡ ÁÖµÈ ¾÷¹« ·ÎÁ÷ÀÌ ÀÌ·ïÁö°í Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥Àº ÁÖ·Î ±× °á°ú¸¦ Æ÷ÀåÇØ º¸¿©ÁÖ´Â ¿ªÇÒ¸¸À» ÇÏ°Ô µÈ´Ù. °á±¹ ±âÁ¸ÀÇ 2°³ °èÃþ »çÀÌ¿¡ ¹Ìµé¿þ¾î ÃþÀÌ Ãß°¡µÅ 3°³ÀÇ °èÃþÀ» ÀÌ·ç°Ô µÈ´Ù.
ÀÌ ¹Ìµé¿þ¾î °èÃþÀº »ç¿ëÀÚ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ °ü¸® ±â´É µîÀ» Á¦°øÇÏ´Â ¡®¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ Ç÷§Æû¡¯À» Á¦°øÇÑ´Ù´Â Àǹ̿¡¼­ ¡®¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¡¯¶ó°í ºÒ¸®¾îÁ³À¸¸ç, 90³â´ë ÈĹݺÎÅÍ ºñ¾àÀûÀ¸·Î ¹ßÀüÇÑ ÀÎÅÍ³Ý È¯°æ¿¡¼­ ¹Ìµé¿þ¾îÀÇ ¿ªÇÒÀ» ÇÏ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¸¦ WAS¶ó°í ºÎ¸£±â ½ÃÀÛÇÑ °ÍÀÌ´Ù.
BEAÀÇ À¥·ÎÁ÷ ¼­¹ö(WebLogic Server)´Â ½ã¿¡¼­ Á¦½ÃÇÑ J2EE ÃֽŠǥÁØÀ» ÁؼöÇÏ´Â Á¦Ç° Áß Çϳª·Î Çϵå¿þ¾î, ¿î¿µÃ¼Á¦, ³×Æ®¿öÅ©, JVM(Java Virtual Machine), µ¥ÀÌÅͺ£À̽º µî Àü»êȯ°æ¿¡¼­ÀÇ °ÅÀÇ ¸ðµç ºÎºÐ°ú °ü°è¸¦ ¸Î°í ÀÖ´Ù. ¶§¹®¿¡ º¸´Ù ¾ÈÁ¤µÇ°í ºü¸¥ ¼­ºñ½º¸¦ Á¦°øÇϱâ À§Çؼ­´Â °¢ ºÐ¾ß¿¡ ¸Â´Â Æ©´×ÀÌ ÇÊ¿äÇÏ´Ù.
¼º´É(performance)À» Á¶»çÇÒ ¶§´Â ¿ì¼± Çϵå¿þ¾îÀÇ »ç¾ç°ú ȯ°æ¼³Á¤À» °í·ÁÇØ¾ß ÇÑ´Ù. ¾à°£ÀÇ Çϵå¿þ¾î ȯ°æ ¼³Á¤Àº À¥·ÎÁ÷ ¼­¹ö¿Í ¾ÖÇø®ÄÉÀ̼ǿ¡ Å« ¿µÇâÀ» ÁÙ ¼ö°¡ ÀÖ´Ù.
¿©±â¼­ °¡Àå ¸ÕÀú °í·ÁÇØ¾ß ÇÒ »çÇ×Àº ÇØ´ç Çϵå¿þ¾î¿Í ¿î¿µÃ¼Á¦°¡ À¥·ÎÁ÷ ¼­¹ö¸¦ Áö¿øÇÏ´Â ÁöÀÌ´Ù. ÀÌ´Â À¥·ÎÁ÷ ¼­¹öÀÇ Ç÷§Æû ¼­Æ÷Æ® ÆäÀÌÁö¿¡¼­ È®ÀÎÇØ¾ß ÇÑ´Ù.
¶ÇÇÑ ÇØ´ç Ç÷§Æû¿¡ ´ëÇÑ »ó¼¼ÇÑ Æ©´×Àº °¢ Ç÷§Æû º°·Î º¥´õ¿¡¼­ Á¦°øÇÏ´Â ¸Å´º¾óÀ» Âü°íÇÏ¸é µÈ´Ù.
À¥·ÎÁ÷ ¼­¹ö¿Í °ü·ÃµÈ ´ëÇ¥ÀûÀÎ ¿î¿µÃ¼Á¦ÀÇ Æ©´×Àº File descriptor, TCP ÆĶó¹ÌÅÍÀÇ Æ©´×À¸·Î, À̸¦ ÅëÇØ ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ´Ù.

File Descriptor
File Descriptor´Â ÁÖ·Î °¢ ¼ÒÄÏ Ä¿³Ø¼Ç(Socket Connection)À¸·Î »ç¿ëµÇ´Âµ¥ File DescriptorÀÇ Á¦ÇÑ¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â °æ¿ì´Â º¸Åë ¼ÒÄÏÀ» ºÎÀûÀýÇÏ°Ô »ç¿ëÇÏ´Â °æ¿ìÀÌÁö¸¸, ±× ¿Ü¿¡µµ ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇϱ⵵ ÇÑ´Ù.

¡¤Too many open files
¡¤Broken pipe
¡¤ClassNotFound

¹°·Ð Broken pipe ¿¡·¯´Â ´Ù¾çÇÑ °æ¿ì¿¡ ¹ß»ýÇÏ´Â ¿¡·¯ÀÌÁö¸¸ File DescriptorÀÇ Á¦ÇÑÀ¸·Î ÀÎÇØ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ¼ÒÄÏ ÀÌ¿Ü¿¡ µð½ºÅ©·ÎºÎÅÍ Å¬·¡½º¸¦ ¾ò¾î ·ÎµåÇÏ´Â °æ¿ì File Descriptor°¡ »ç¿ëµÇ´Âµ¥, ºÎÁ·Çϸé ÇØ´ç ½Ã½ºÅÛ¿¡ Ŭ·¡½º°¡ Á¸ÀçÇÏ°íµµ ClassNotFound¿Í °°Àº ¿¡·¯°¡ Ç¥½ÃµÇ±âµµ ÇÑ´Ù.
´ÙÀ½ÀÇ ¿¹´Â ¼Ö¶ó¸®½º¿¡¼­ File Descriptor¸¦ ¼³Á¤ÇÏ´Â ¿¹ÀÌ´Ù.

¡¤ulimit Ä¿¸Çµå¸¦ »ç¿ëÇØ File DescriptorÀ» È®ÀÎÇÑ´Ù.
¡¤ulimit Ä¿¸Çµå¸¦ »ç¿ëÇØ ÇöÀç ÇÁ·Î¼¼¼­¿¡¼­ÀÇ File DescriptorÀÇ Á¦ÇÑÀ» ÀϽÃÀûÀ¸·Î º¯°æÇÑ´Ù.
¡¤File DescriptorÀÇ °ªÀ» ¿µ¿øÈ÷ ¼³Á¤Çϱâ À§ÇØ /etc/system ÆÄÀÏ¿¡ ´ÙÀ½À» ¼³Á¤ÇÑ´Ù.

set rlim_fd_max=4096 /* hard limit */ (root ±ÇÇÑÀÌ ÇÊ¿ä)

¡¤À¥·ÎÁ÷À» ´Ù½Ã ½ÃÀÛÇϸé (È­¸é 1)°ú °°Àº ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖ´Ù. À̶§ ÁÖÀÇÇÒ Á¡Àº Default soft limit´Â º¯°æÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. ÀÌ´Â À¥·ÎÁ÷ ¼­¹ö¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾ÊÀ¸³ª °°Àº ¼­¹ö¿¡ ÀÖ´Â ¸¹Àº ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

TCP Æз¯¹ÌÅÍÀÇ Æ©´×
TCP Æз¯¹ÌÅÍ »Ó ¾Æ´Ï¶ó Ç÷§Æûº°·Î ¸¹Àº Æз¯¹ÌÅÍ°¡ Á¸ÀçÇÏÁö¸¸ ¿©±â¼­´Â À©µµ¿ìÀÇ TcpTimedWaitDelay¿Í ¼Ö¶ó¸®½ºÀÇ tcp_time_wait_ interval, tcp_conn_req_max_q, tcp_conn_ req_max_q0 µîÀ» ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.
À©µµ¿ìÀÇ TcpTimedWaitDelay¿Í ¼Ö¶ó¸®½ºÀÇ tcp_time_wait_ intervalÀº Ä¿³Ø¼ÇÀÌ Á¾·áµÆÀ» ¶§ TIME_WAIT »óÅ·Π¸Ó¹°°Ô µÇ´Â ½Ã°£À» ¼³Á¤ÇÑ´Ù.
ÀÌ °ªÀÇ µðÆúÆ®´Â 4ºÐÀ¸·Î ªÀº ½Ã°£¿¡ ¸¹Àº Ŭ¶óÀ̾ðÆ®°¡ Á¢¼ÓÀ» ÇÏ¸é ³×Æ®¿öÅ© ¼º´É¿¡ ¿µÇâÀ» ÁÙ ¼ö Àֱ⠶§¹®¿¡ 60ÃÊ·Î º¯°æÇÒ °ÍÀ» ÃßõÇÑ´Ù. À©µµ¿ì¿¡¼­ TcpTimedWaitDelay¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.

¡¤·¹Áö½ºÆ®¸® À§Ä¡ :
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
¡¤À¯È¿ÇÑ ¹üÀ§ : 30¡­300ÃÊ
¡¤µðÆúÆ® : 240ÃÊ
¡¤ÃßõÇÏ´Â °ª : 60ÃÊ

´ÙÀ½Àº ¼Ö¶ó¸®½º¿¡¼­ tcp_time_wait_intervalÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ´Ù.

¡¤±âº» : 240000ms(240ÃÊ)
¡¤Ãßõ : 60000ms (60ÃÊ)
¡¤Æз¯¹ÌÅÍ ¼³Á¤¹æ¹ýÀº ndd Ä¿¸àµå¸¦ »ç¿ëÇØ ¼³Á¤ÇÑ´Ù.
¡¤ndd -set /dev/tcp tcp_time_wait_interval 60000
¡¤tcp_time_wait_intervalÀ» ¿µ±¸È÷ ¼³Á¤Çϱâ À§Çؼ­´Â /etc/rc2.d/S69inet¿¡ °ªÀ» ¼³Á¤ÇÑ´Ù.

¼Ö¶ó¸®½º¿¡´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¸®Äù½ºÆ®¸¦ 3¿þÀÌ Çڵ弼ÀÌÅ©(3-way handshake)¸¦ ÅëÇØ ¹Þ´Â´Ù. ¿©±â¿¡´Â ICQ(Incomplete Connec tions Queue), CCQ(Completed Connections Queue)°¡ Àִµ¥, ICQ´Â ½Ã½ºÅÛ¿¡ Àü´ÞµÇ´Â ¸ðµç SYN ÆÐŶÀ» ÀúÀåÇÑ´Ù.
Áï óÀ½À¸·Î Ä¿³Ø¼ÇÀ» ½ÃµµÇÏ´Â ¸®Äù½ºÆ®(Request)´Â ÀÏ´ÜÀº ¿©±â¿¡ ¸Ó¹°°í, 3¿þÀÌ Çڵ弼ÀÌÅ©¸¦ ÅëÇØ ¿Ïº®ÇÏ°Ô established »óÅ°¡ µÇÁö ¾ÊÀº ¸ðµç Ä¿³Ø¼Ç¿¡ ´ëÇÑ ³»¿ëµµ ¹Ù·Î ÀÌ Å¥(Queue)¿¡ ÀúÀåµÇ´Â °ÍÀÌ´Ù.
CCQ´Â 3¿þÀÌ Çڵ弼ÀÌÅ©¸¦ ÅëÇØ Ä¿³Ø¼ÇÀÌ ¼º¸³µÈ °ÍµéÀÌ ÀúÀåµÇ´Â Å¥´Ù. Áï CCQ¿¡¼­ ´ë±âÇϸ鼭 ´Ù½Ã accept¸¦ È£Ãâ ÇÏ´Â °ÍÀ» ±â´Ù¸®°í acceptµÈ °ÍµéÀº Å¥¿¡¼­ »ç¶óÁø´Ù.
¸ðµç Å¥´Â ¼³Á¤µÈ °ª(±âº» 128°³)¿¡ ÀÇÇØ Á¦ÇÑÀ» ¹Þ´Âµ¥ ¾î¶² ÀÌÀ¯¿¡¼­µç CCQ¿¡¼­ Áö¿öÁöÁö ¾Ê°í, Å¥°¡ ²Ë Â÷¸é Ä¿³ÎÀº ´õ ÀÌ»óÀÇ Ä¿³Ø¼ÇÀ» ¹ÞÁö ¾Ê´Â´Ù.
ŸÀӾƿô(Timeout) °ªÀº Å¥¿¡ ÀúÀåµÈ SYN ¼¼±×¸ÕÆ®¿¡ ÀÇÇØ °áÁ¤µÇ¸ç, Å¥¿¡ ÀúÀåµÈ SYN ÆÐŶ¿¡ ´ëÇØ ACK°¡ ¼ö½ÅµÇÁö ¾Ê´Â °æ¿ì(SYN_RCVD »óÅÂ)¿¡´Â ½Ã°£ÀÌ °æ°úµÇ°í ±× °á°ú ±×³É ÆÐŶÀÌ Áö¿öÁø´Ù. °á°úÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®°¡ ¾Æ¹«¸® SYN¸¦ º¸³»µµ ÀÌ·¯ÇÑ Ä¿³Ø¼ÇÀº ICQ¿¡ ¸Ó¹°°Ô µÇ¸ç 3¿þÀÌ Çڵ弼ÀÌÅ©¸¦ ÇÏÁö ¾ÊÀ¸¹Ç·Î CCQ·Î ³Ñ¾î°¡Áö ¾Ê´Â´Ù. ÀÌ·± ÀÌÀ¯·Î ÀÎÇØ µÎ °³ÀÇ Å¥ ¼³Á¤ °ªÀº À¥·ÎÁ÷ ¼­¹öÀÇ ¼º´É¿¡ Å« ¿µÇâÀ» ÁÖ°Ô µÈ´Ù.

[Incomplete Connections Queue: tcp_conn_req_max_q0 ]
¡¤±âº» : 1024
¡¤Ãßõ : 1204 ÀÌ»ó
¡¤Æз¯¹ÌÅÍ ¼³Á¤¹æ¹ýÀº ndd Ä¿¸àµå¸¦ »ç¿ëÇØ ¼³Á¤ÇÑ´Ù.
¡¤ndd -set /dev/tcp tcp_conn_req_max_q0 1024
¡¤tcp_conn_req_max_q0À» ¿µ±¸È÷ ¼³Á¤Çϱâ À§Çؼ­´Â /etc/rc2.d/S69inet¿¡ °ªÀ» ¼³Á¤ ÇÑ´Ù.

[Completed Connections Queue: tcp_conn_req_max_q ]
¡¤±âº» : 128
¡¤Ãßõ : 128 ÀÌ»ó
¡¤Æз¯¹ÌÅÍ ¼³Á¤¹æ¹ýÀº ndd Ä¿¸àµå¸¦ »ç¿ëÇØ ¼³Á¤ÇÑ´Ù.
¡¤ndd -set /dev/tcp tcp_conn_req_max_q 128
¡¤tcp_conn_req_max_qÀ» ¿µ±¸È÷ ¼³Á¤Çϱâ À§Çؼ­´Â /etc/rc2.d/S69inet¿¡ °ªÀ» ¼³Á¤ÇÑ´Ù.

JVM Æ©´×Çϱâ
JVM(Java Virtual Machine)Àº ÇÁ·Î¼¼¼­ »ó¿¡¼­ Àڹ٠Ŭ·¡½º ÆÄÀÏÀÇ ¹ÙÀÌÆ® Äڵ带 ½ÇÇàÇÏ´Â ½ÇÇà ¿£ÁøÀÌ´Ù. JVM Æ©´×Àº À¥·ÎÁ÷°ú ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼º´É¿¡ Å« ¿µÇâÀ» ÁØ´Ù.
ƯÈ÷ JVMÀÇ º¥´õ¿Í ¹öÀüÀº ¼º´É¿¡ Å« ¿µÇâÀ» ÁֹǷΠÀ¥·ÎÁ÷ ¼­¹ö¿¡¼­ ½ÇÇàµÇ´Â °ÍÀÌ º¸ÁõµÈ JVMÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. À¥·ÎÁ÷ 6.x¿¡¼­´Â 1.3.x ¹öÀüÀ» ÁؼöÇÑ JVMÀ» Áö¿øÇÏ°í ÀÖ´Ù.
JVM Èü(heap)Àº ÇöÀç »ç¿ëµÇ´Â ¿ÀºêÁ§Æ®, »ç¿ëµÇÁö ¾Ê´Â ¿ÀºêÁ§Æ®(non-referenced objects), ÀÌ¿ë °¡´ÉÇÑ ¿©À¯ ¸Þ¸ð¸®·Î ±¸¼ºµÇ´Âµ¥, ÀÌ·± JVM Èü »çÀÌÁî¿¡ ÀÇÇØ GC(Garbage Collection : »ç¿ëµÇÁö ¾Ê´Â ¿ÀºêÁ§Æ®¸¦ de-allocating)¸¦ ÇÏ´Â ºóµµ¿Í ½Ã°£ÀÌ °áÁ¤µÈ´Ù.
GC¸¦ ÇÏ°í ÀÖ´Â µ¿¾È JVMÀº ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¼º´ÉÀÌ ÀúÇϵȴÙ. GCÀÇ ÀûÀýÇÑ ½ÇÇàºóµµ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ µû¶ó ´Ù¸£¹Ç·Î, GCÀÇ ½ÇÁ¦ ½Ã°£°ú ºóµµ¸¦ Çؼ®ÇØ Á¶Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
Å« Èü »çÀÌÁ ¼³Á¤ÇÒ °æ¿ì, GC Àüü´Â Àú¼ÓÈ­µÇÁö¸¸ ½ÇÇàºóµµ°¡ ³·¾ÆÁö¸é ¸Þ¸ð¸®ÀÇ ¿ä±¸¿¡ ¸Â°Ô Èü »çÀÌÁ ¼³Á¤ÇÒ °æ¿ì, GCÀüü´Â °í¼ÓÈ­µÇÁö¸¸ ½ÇÇàºóµµ°¡ ³ô¾ÆÁø´Ù. Èü »çÀÌÁîÀÇ Æ©´×ÀÇ ¸ñÀûÀº ¼ÒÁ¤ÀÇ ½Ã°£¿¡ ó¸®ÇÒ ¼ö Àִ Ŭ¶óÀ̾ðÆ®ÀÇ ¼ö¸¦ ÃÖ´ëÇÑÀ¸·Î ´Ã¸®¸é¼­ GCÀÇ ½ÇÇà½Ã°£À» ÃÖ¼ÒÇÑÀ¸·Î ¾ïÁ¦ÇÏ´Â °ÍÀÌ´Ù. Èü »çÀÌÁîÀÇ °áÁ¤Àº ´ÙÀ½°ú °°Àº »çÇ׿¡ µû¶ó ÇÏ¸é µÈ´Ù.

¡¤¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà Áß¿¡, ÃÖ´ëÀÇ ºÎÇϸ¦ ÁØ »óÅ·ΠÀ¥·ÎÁ÷ ¼­¹öÀÇ ¼º´ÉÀ» ¸ð´ÏÅÍ ÇÑ´Ù.
¡¤-verbosegc ¿É¼ÇÀ» »ç¿ëÇØ, GC¿¡ ÅõÀ﵃ ½Ã°£°ú ÀÚ¿øÀ» Á¤È®ÇÏ°Ô ÃøÁ¤ÇÑ´Ù.
¡¤JVMÀÇ verbose¿¡¼­ GC Ãâ·ÂÀ» À¯È¿ÇÏ°Ô Çؼ­ Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» ·Î±× ÆÄÀÏ¿¡ ±â·Ï ÇÑ´Ù.
¡¤weblogic.log ÆÄÀÏ¿¡¼­ GC ÀüÈÄÀÇ Å¸ÀÓ ½ºÅÆÇÁ¸¦ ºñ±³ÇÑ´Ù(GCÀüü ½ÇÇà½Ã°£ÀÌ 3¡­5Ãʸ¦ ³Ñ±âÁö ¾Êµµ·Ï ÇÑ´Ù).
¡¤Æò±Õ ¸Þ¸ð¸® Á¡À¯·®(°¢ GC ½ÇÇà ÈÄÀÇ Èü »óÅÂ)¿¡¼­ ÈüÀÇ ¿©À¯°¡ Ç×»ó 85%°¡ µÇ´Â °æ¿ì, Èü »çÀÌÁ ÀÛ°Ô Çصµ ±¦Âú´Ù.
¡¤Java HotSpot JVM 1.3 À» »ç¿ëÇÏ°í ÀÖ´Â °æ¿ì´Â Á¦³Ê·¹À̼Ç(Generation)ÀÇ »çÀÌÁ ¼³Á¤ÇÑ´Ù.

http://e-docs.bea.com/wls/docs61/perform/JVMTuning.html#1109778

¿¹) $java ... -XX:NewSize=128m -XX:MaxNewSize=128m
-XX:SurvivorRatio=8 -Xms512m -Xmx512m ...

¡¤Èü »çÀÌÁî´Â ½Ã½ºÅÛ¿¡¼­ »ç¿ë °¡´ÉÇÑ ¿©À¯ ¸Þ¸ð¸®º¸´Ù ÀÛ°Ô ÇÑ´Ù. Áï ÆäÀÌÁö°¡ µð½ºÅ©¿¡ ½º¿ÒµÇÁö ¾Ê´Â ¹üÀ§·Î ¼³Á¤ÇÑ´Ù.
¡¤½Ã½ºÅÛÀÌ GC¿¡ ¼ÒºñÇÏ´Â ½Ã°£ÀÌ ³Ê¹« ±ä °æ¿ì Èü »çÀÌÁ ÀÛ°Ô ÇÑ´Ù. ÀϹÝÀûÀ¸·Î »ç¿ë °¡´ÉÇÑ RAMÀÇ 80%¸¦ JVM¿¡ ÇÒ´çÇÑ´Ù.
¡¤¼º´É Çâ»óÀ» À§ÇØ ÃÖ¼Ò Èü »çÀÌÁî¿Í ÃÖ´ë Èü »çÀÌÁî´Â °°°Ô ¼³Á¤ÇÑ´Ù.

À¥·ÎÁ÷ ¼­¹öÀÇ Æ©´×
À¥·ÎÁ÷ ¼­¹ö¸¦ Æ©´×ÇÏ´Â ¹æ¹ýÀº ½ÇÇà ¾²·¹µå(thread), ¼º´É ÆÑ, ¼ÒÄϸ®´õ, Ä¿³Ø¼Ç ¹é·Î±× ¹öÆÛ¸µ(Connection Backlog Buffering), JDBC Ç®ÀÇ Æ©´× µîÀÌ ÀÖ´Ù. ¸ðµç ¼³Á¤Àº À¥·ÎÁ÷ ¼­¹öÀÇ ÄܼÖÀ» ÀÌ¿ëÇØ º¯°æÇÒ ¼ö ÀÖ°í Æ©´×µÈ Á¤º¸´Â config.xml¿¡ ÀúÀåµÈ´Ù.

¡¤½ÇÇà ¾²·¹µåÀÇ ¼³Á¤
À¥·ÎÁ÷ ¼­¹öÀÇ ¾²·¹µå´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¾÷ÀÇ Ã³¸®¿Í ¸®Äù½ºÆ®¸¦ ´ë±â(listen)ÇÏ´Â µÎ°¡Áö ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. À¥·ÎÁ÷ÀÇ ¾²·¹µå Ç®Àº ¾²·¹µåÀÇ ÃÑ ¼ö¸¦ ¼³Á¤ÇØ ÇÒ´çÇÒ ¼ö Àִµ¥, ±âº»ÀûÀÎ ½ÇÇà ¾²·¹µå °ªÀº 15ÀÌ´Ù.
´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÌ °ªÀ» º¯°æÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ °ªÀÌ ³Ê¹« Å©¸é ¸Þ¸ð¸® »ç¿ë·®ÀÌ Ä¿Á® ÄÁÅؽºÆ®ÀÇ ½ºÀ§ÄªÀÌ Áõ°¡ÇØ ¼º´ÉÀÌ ÀúÇϵȴÙ.
ÀÀ´ä(Response)¿¡ ¸¹Àº ½Ã°£ÀÌ °É¸®´Â DB È£ÃâÀ» ÇÏ´Â °æ¿ì´Â ¹Ý´ëÀÇ °æ¿ì º¸´Ù ¸¹Àº ½ÇÇà ¾²·¹µå°¡ ÇÊ¿äÇÏ´Ù. ÈÄÀÚÀÇ °æ¿ì´Â ÀûÀº ½ÇÇà ¾²·¹µå·Î ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ´Ù. ¶ÇÇÑ ¾²·¹µå ¼ö°¡ ³Ê¹« ÀûÀº °æ¿ì, À¥·ÎÁ÷ ¼­¹ö°¡ ÃÖ´ë ºÎÇÏ·Î µ¿ÀÛÇϸé CPUÀÇ ´É·ÂÀ» 100% È°¿ëÇÒ ¼ö ¾ø´Ù.

¼­¹ö¼±Åà > ¸¶¿ì½º ¿ìÃø(View Execute Queue) > ½ÇÇà Å¥ ¼±Åà > ¾²·¹µå ¼³Á¤ °ª ¼³Á¤

¡¤ÆÛÆ÷¸Õ½º ÆÑÀÇ »ç¿ë
¸¹Àº º¥Ä¡ ¸¶Å© °á°ú Ç÷§Ç°¿¡ ¸Â´Â ÆÛÆ÷¸Õ½º ÆÑÀ» »ç¿ëÇÏ¸é ¼º´ÉÀÌ ÃÖ´ë 3¹è±îÁö Çâ»óµÇ´Â °ÍÀ¸·Î ÀÔÁõ ÆÛÆ÷¸Õ½º ÆÑÀº Ç÷§Æû¿ëÀ¸·Î ÃÖÀûÈ­µÈ ³×ÀÌƼºê ¼ÒÄÏ ¸ÖƼ Ç÷º¼­(platform-optimized native socket multiplexor)¸¦ »ç¿ëÇØ ¼º´ÉÀ» Çâ»ó½ÃŲ´Ù.

¼­¹ö¼±Åà > Configuration > Tuning > Enable Native IO üũ¸¦ ÅëÇØ ¼³Á¤

¡¤¼ÒÄÏ ¸®´õ ¾²·¹µå Æ©´×
¼ÒÄÏÀ¸·ÎºÎÅÍ ¸Þ½ÃÁö¸¦ ÀоîµéÀÌ´Â ½ÇÇà ¾²·¹µåÀÇ ÃÖ°í ºñÀ²À» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ °ªÀº ÆÛÆ÷¸Õ½º ÆÑÀ» »ç¿ëÇÏÁö ¾ÊÀ» ¶§¸¸ ¼³Á¤ÇÒ ¼ö ÀÖ°í Ãßõ°ªÀº 30ÀÌ´Ù
¼­¹ö¼±Åà > Configuration > Tuning > Socket Readers °ªÀ» ¼³Á¤

¡¤Ä¿³Ø¼Ç ¹é·Î±× ¹öÆÛ¸µ Æ©´×
Ä¿³Ø¼Ç ¹é·Î±×´Â ´ë±â Å¥¿¡ µé¾î¿Â TCP Ä¿³Ø¼ÇÀÇ ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °íÁ¤ »çÀÌÁîÀÇ Å¥¿¡´Â TCP ½ºÅÿ¡¼­´Â ¼ö½ÅµÆÁö¸¸, ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â ¾ÆÁ÷ ¹Þ¾Æ µé¿©ÁöÁö ¾ÊÀº Ä¿³Ø¼Ç ¸®Äù½ºÆ®°¡ µé¾îÀÖ´Ù. µðÆúÆ®´Â 50ÀÌ°í, ÃÖ´ëÄ¡´Â ¿î¿µÃ¼Á¦¸¶´Ù ´Ù¸£´Ù.
Ŭ¶óÀ̾ðÆ®°¡ ¸®Äù½ºÆ®¸¦ ¿äûÇßÀ¸³ª Connection refused¶ó´Â ¸Þ½ÃÁö¸¦ ¹Þ°í, ¼­¹ö¿¡¼­´Â ¾Æ¹«·± ¿¡·¯°¡ ¾ø´Ù¸é ÀÌ °ªÀ» µðÆúÆ®·ÎºÎÅÍ 25%¸¦ Å©°Ô ÇÏ°í, ÀÌ·± ¸Þ½ÃÁö°¡ Ç¥½ÃµÇÁö ¾Ê°Ô µÉ ¶§±îÁö ÀÌ ¼Ó¼º °ªÀ» 25%¾¿ Áõ°¡½ÃÅ°¸é¼­ Å×½ºÆ®ÇÑ´Ù.

¼­¹ö¼±Åà > Configuration > Tuning > AcceptBacklog °ªÀ» ¼³Á¤

¡¤Ä¿³Ø¼Ç Ç® Æ©´×
DBMS¿¡¼­ JDBC Ä¿³Ø¼ÇÀ» ¾ò´Â °ÍÀº ¸Å¿ì ½Ã°£ÀÌ ¸¹ÀÌ °É¸®´Â ÀÛ¾÷ÀÌ´Ù. JDBC ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î DB Ä¿³Ø¼ÇÀÇ ¿ÀÇÂ(open)°ú Ŭ·Î¿ìÁî(close)¸¦ ¹Ýº¹ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì, ÀÌ°ÍÀº ¼º´ÉÀÇ ¹®Á¦°¡ µÈ´Ù.
À¥·ÎÁ÷ ¼­¹ö¸¦ ½ÃÀÛ½ÃÅ°¸é Ä¿³Ø¼Ç Ç® ³»ÀÇ Ä¿³Ø¼ÇÀÌ ¿ÀǵŠ¸ðµç Ŭ¶óÀ̾ðÆ®°¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Ŭ¶óÀ̾ðÆ®°¡ Ä¿³Ø¼Ç Ç®ÀÇ Ä¿³Ø¼ÇÀ» Ŭ·Î¿ìÁîÇÏ¸é ±× Ä¿³Ø¼ÇÀº Ç®·Î µÇµ¹·ÁÁ® ´Ù¸¥ Ŭ¶óÀ̾ðÆ®°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â »óÅ°¡ µÈ´Ù. Áï Ä¿³Ø¼Ç ±× ÀÚü°¡ Ŭ·Î¿ìÁîµÇ´Â °ÍÀÌ ¾Æ´Ï´Ù.
Ä¿³Ø¼Ç Ç®À» ¼³Á¤½Ã ÃʱⰪ(InitialCapacity)°ú ÃÖ´ë°ª(MaxCapacity)À» ¼³Á¤ÇÒ ¼ö Àִµ¥ °³¹ß½Ã¿¡´Â ÃʱⰪÀ» ÀÛ°Ô ¼³Á¤ÇÏ¸é ¼­¹öÀÇ ±âµ¿ÀÌ ºü¸£±â ¶§¹®¿¡ Æí¸®ÇÏ´Ù. ÇÏÁö¸¸ ¿î¿µÃ¼Á¦¿¡¼­´Â ¼­¹ö¿¡ ºÎÇÏ°¡ °É¸®¸é °¡´ÉÇÑ ÇÑ ºü¸£°Ô ¼­ºñ½º¸¦ ÇØÁÖ±â À§Çؼ­´Â ¸ðµç ÀÚ¿øÀÌ ÇÁ·Î¼¼½ºÀÇ Ã³¸®¿¡ ¼ÒºñµÈ´Ù. µû¶ó¼­ ÃʱⰪ°ú ÃÖ´ë°ªÀ» °°°Ô ¼³Á¤ÇÏ¿© ¸ðµç ÀÚ¿øÀÌ ÇÁ·Î¼¼½º 󸮿¡ »ç¿ëµÇµµ·Ï ÇÑ´Ù.
¿î¿µ ½Ã½ºÅÛ¿¡¼­´Â Ç® ³»ÀÇ Ä¿³Ø¼Ç ¼ö¸¦ JDBC Ä¿³Ø¼ÇÀ» ÇÊ¿ä·Î ÇÏ´Â µ¿½Ã »ç¿ëÀÚÀÇ ¼¼¼Ç¼ö¿Í °°°Ô ÇÏ´Â °ÍÀ» ÃßõÇÑ´Ù. JDBC µå¶óÀ̹ö ¹× DBMS¿¡ µû¶ó¼­ °¡´ÉÇÑ ¹°¸®Àû Ä¿³Ø¼Ç¼ö°¡ Á¦ÇѵŠÀÖ´Â °æ¿ìµµ ÀÖ´Ù.

¼­¹ö¼±Åà > Configuration > Tuning > AcceptBac klog °ªÀ» ¼³Á¤

¡¤¸ÖƼ CPU ¸Ó½Å¿¡¼­ÀÇ Æ©´×
¸ÖƼ CPU(Multi-CPU)¸¦ žÀçÇÑ ¸Ó½Å¿¡¼­´Â »ç¿ë °¡´ÉÇÑ CPU¿¡ À¥·ÎÁ÷À» Ŭ·¯½ºÅÍ·Î ±¸¼ºÇÏ´Â °ÍÀ» °í·ÁÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¼­¹ö¿¡ ´ëÇÑ CPUÀÇ ºñÀ²À» °áÁ¤ÇÏ·Á¸é, ³×Æ®¿öÅ© ¿ä°Ç°ú µð½ºÅ© I/O ¿ä°ÇÀ» °ËÁõÇغÁ¾ß ÇÑ´Ù.
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÁÖ·Î ³×Æ®¿öÅ© ÀÔÃâ·ÂÀÎ °æ¿ì¿¡´Â, º¸´Ù °í¼ÓÀÇ NIC¸¦ ¼³Ä¡ÇÏ´Â °ÍÀÌ CPUÀÇ Ãß°¡ º¸´Ù ³ôÀº ¼º´ÉÀ» ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ´ëºÎºÐÀÇ CPU°¡ ÀÌ¿ë °¡´ÉÇÑ ¼ÒÄÏÀÇ ¸®µå(Read)¸¦ ±â´Ù¸®´Â µ¿¾È ¾ÆÀ̵é(Idle) »óÅÂÀ̱⠶§¹®ÀÌ´Ù.
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÁÖ·Î µð½ºÅ© ÀÔÃâ·ÂÀÇ °æ¿ì¿¡´Â, CPUÀÇ Ãß°¡ Àü¿¡ µð½ºÅ©ÀÇ ½ºÇɵé(spindle) ¶Ç´Â °¢°¢ÀÇ µð½ºÅ©¿Í ÄÁÆ®·Ñ·¯¸¦ ¾÷±×·¹À̵åÇÏ´Â °ÍÀ» »ý°¢ÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Ù. Áï Ãß°¡ÀÇ CPU¸¦ ÇÒ´çÇϱâ Àü¿¡ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ³×Æ®¿öÅ© ¶Ç´Â µð½ºÅ© ÀÔÃâ·Âº¸´Ù CPU ¹Ù¿îµå ÀÎÁö¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù. CPU ¹Ù¿îµåÀÇ °æ¿ì 1°³ÀÇ À¥·ÎÁ÷ ÀνºÅϽº¿¡ CPU »ç¿ë·üÀÌ °ÅÀÇ 100%¶ó¸é ¼­¹ö¿¡ ´ëÇÑ CPU ºñÀ²À» Áõ°¡ ½ÃŲ´Ù. À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÇÊ¿äÇÑ Ã³¸®´Â ´Ù¸£Áö¸¸, BEAÀÇ Á¶»ç°á°ú 2°³ÀÇ CPU¿¡ ´ëÇØ 1°³ÀÇ À¥·ÎÁ÷ ÀνºÅϽº·Î ÇÑ ºñÀ²ÀÇ °æ¿ì¿¡ ÃÖÀûÀÇ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ¾ú´Ù.

°ü·Ã±Û : ¾øÀ½ ±Û¾´½Ã°£ : 2007/02/07 11:52 from 202.20.99.164

  NIPS ¼º´ÉÅ×½ºÆ®Åø Å丶ȣũ ¸ñ·Ïº¸±â »õ±Û ¾²±â Áö¿ì±â ÀÀ´ä±Û ¾²±â ±Û ¼öÁ¤ GC ³»¿ëºÐ¼®  
BACKRUSH  À¯´Ð½º¸í·É  ´ÙÀ½  ÀÚ·á½Ç  Ascii Table   ¿ø°ÝÁ¢¼Ó  ´Þ·Â,½Ã°£   ÇÁ·Î¼¼½º   ½©
ÁöÇÏö³ë¼±   RFC¹®¼­   SUN FAQ   SUN FAQ1   C¸Þ´º¾ó   PHP¸Þ´º¾ó   ³Ê±¸¸®   ¾Æ½ºÅ°¿ùµå ¾ÆÀÌÇǼ­Ä¡