NetWork ÇÁ·Î±×·¡¹Ö ¸ðµ¨
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Replace original file
Rename if it already exist

Contents

1 ¼Ò°³
2 ±âº» Áö½Ä
2.1 Open °¡´ÉÇÑ ÆÄÀÏ °¹¼ö
2.1.1 ¿î¿µÃ¼Á¦ Á¦ÇÑ
2.1.2 ÇÁ·Î¼¼½º Á¦ÇÑ
2.2 Port ¿µ¿ª
3 ÀÔÃâ·Â ´ÙÁßÈ­
3.1 Port ºÐ»ê
3.1.1 ÀåÁ¡
3.1.2 ´ÜÁ¡
3.1.3 Àû´çÇÑ ¼­ºñ½º
4 PreFork


1 ¼Ò°³

ÀÌ ¹®¼­´Â ½Ç¹«¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© ÇÁ·Î±×·¥ÀÇ ¸ðµ¨¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÒ °ÍÀÌ´Ù. ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ¼­ ±âº»ÀûÀÎ ÀÌÇØ´Â °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇÒ °ÍÀÌ´Ù. ´Ù¼öÀÇ ¿¬°áÀ̳ª ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ¼­ºñ½º ŸÀÔ¿¡ µû¶ó ¾î¶»°Ô È¿À²ÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖÀ» °ÍÀÎÁö¿¡ ÃÐÁ¡À» ¸ÂÃâ °ÍÀÌ´Ù.

2 ±âº» Áö½Ä

2.1 Open °¡´ÉÇÑ ÆÄÀÏ °¹¼ö

Linux Kernel 2.6À» ±âÁØÀ¸·Î ¼³¸íÀ» ÇϰڴÙ. Open °¡´ÉÇÑ ÆÄÀÏÀº ¿î¿µÃ¼Á¦ Á¦ÇѰú ÇÁ·Î¼¼½º Á¦ÇÑ µÎ°¡Áö¸¦ ¸ðµÎ °í·ÁÇØ¾ß ÇÑ´Ù.

2.1.1 ¿î¿µÃ¼Á¦ Á¦ÇÑ

¿î¿µÃ¼Á¦¿¡¼­ ¿­¼ö ÀÖ´Â ÆÄÀÏÀÇ Á¦ÇÑÀº ¾Æ·¡¿Í °°ÀÌ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
# cat /proc/sys/fs/file-max 
50442 
 
¿î¿µÃ¼Á¦°¡ ¿­ ¼ö ÀÖ´Â ÆÄÀÏÀÇ °¹¼ö´Â À§ÀÇ file-maxÀÇ °ªÀ» ¼öÁ¤ÇÏ´Â Á¤µµ·Î °£´ÜÈ÷ Á¶ÀýÇÒ ¼ö ÀÖ´Ù.
# echo 81920 > /proc/sys/fs/file-max  
 
±×·¯³ª ±×·¸´Ù°í ÇØ¼­ ¹«ÇÑ´ë·Î ´Ã¸± ¼ö´Â ¾øÀ» °ÍÀÌ´Ù. ±âº» °ªÀº º¸Åë kilobyte·Î ȯ»êÇÑ ·¥ÀÇ Å©±âÀÇ 10%·Î Àâ´Â´Ù. 1GbyteÀÇ ·¥À» È®º¸Çϰí ÀÖ´Ù¸é 104857ÀÌ ±âº»À¸·Î ÀâÈú °ÍÀÌ´Ù.

2.1.2 ÇÁ·Î¼¼½º Á¦ÇÑ

ÇÁ·Î¼¼½º´ç ¿­ ¼ö ÀÖ´Â ÆÄÀÏÀÇ Á¦ÇѰªÀº ¾Æ·¡¿Í °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ±âº»°ªÀ» 1024·Î µÇ¾î ÀÖÀ» °ÍÀÌ´Ù.
# ulimit -n  
1024 
 
´ÙÀ½°ú °°ÀÌ ¿­ ¼ö ÀÖ´Â ÆÄÀÏÀÇ °¹¼ö¸¦ Á¶ÀýÇÒ ¼ö ÀÖ´Ù.
# ulimit -n 8192 
 
±×·¯³ª ulimit¸¦ ÀÌ¿ëÇÑ ÆÄÀÏÀÇ °¹¼ö Á¶Á¤Àº ÇöÀç ½©¿¡¼­¸¸ À¯È¿ÇÏ´Ù. ±×·¯¹Ç·Î ÇØ´ç ÇÁ·Î¼¼½ºÀÇ ½ÇÇà½Ã¿¡ ´Éµ¿ÀûÀ¸·Î ÆÄÀÏÀÇ °¹¼ö¸¦ Á¶ÀýÇÏ°í ½Í´Ù¸é setrlimitÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÑ´Ù. ¶Ç´Â ÇØ´ç ½©ÀÇ profile¿¡¼­ ulimit¸¦ ½ÇÇàÇϵµ·Ï ÇØµµ µÉ °ÍÀÌ´Ù.

ÇÁ·Î¼¼½º°¡ ¿­ ¼ö ÀÖ´Â ÆÄÀÏÀÇ °¹¼ö´Â ¿î¿µÃ¼Á¦ÀÇ ÆÄÀÏÁ¦ÇÑ °¹¼ö¿Í ±ÕÇüÀ» ¸ÂÃâ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÒ °ÍÀÌ´Ù. 8192Á¤µµ·Î Á¶Á¤ÇÏ´Â°Ô ¹«³­Çϸ®¶ó »ý°¢µÈ´Ù.

2.2 Port ¿µ¿ª

¼­ºñ½º¿¡ µû¶ó¼­ ¹ÛÀ¸·Î ³ª°¡´Â ´Ù¼öÀÇ Æ÷Æ®°¡ »ý±æ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·² °æ¿ì outgoing Æ÷Æ®ÀÇ ¹üÀ§¸¦ Á¶Á¤ÇØÁÙ Çʿ䰡 ÀÖ´Ù. ±âº»ÀûÀ¸·Î 1024¿¡¼­ 4999±îÁö°¡ outgoing Æ÷Æ®·Î ÇÒ´çÀÌ µÇ´Âµ¥, 3975ÀÌ»óÀÇ outgoing ¿¬°áÀÌ ÀÌ·ç¾îÁú °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. outgoing Æ÷Æ®ÀÇ ¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
# cat /proc/sys/net/ipv4/ip_local_port_range 
 
¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù.
# echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range 
 
ÀÌ ¹æ¹ýÀ» »ç¿ëÇÒ °æ¿ì ½Ã½ºÅÛÀÌ ¸®º×µÇ¸é ´Ù½Ã ±âº»°ªÀ¸·Î µÇµ¹¾Æ°¡°Ô µÇ´Âµ¥, ½Ã½ºÅÛ ºÎÆÃ½Ã¿¡µµ º¯°æµÈ °ªÀÌ Àû¿ëµÇ°Ô ÇÏ·Á¸é /etc/sysctl.conf¸¦ ¼öÁ¤ÇÏ¸é µÈ´Ù.
# increase system IP port limits 
net.ipv4.ip_local_port_range = 1024 65535 
 

3 ÀÔÃâ·Â ´ÙÁßÈ­

ÀÔÃâ·Â ´ÙÁßÈ­´Â select¿Í pollÀ» ÅëÇØ ±¸ÇöµÈ´Ù. ÀÔÃâ·Â ´ÙÁßÈ­¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸î°¡Áö ¸ðµ¨¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.

3.1 Port ºÐ»ê

¼­ºñ½º Æ÷Æ®ÀÇ ¹üÀ§¸¦ ÁöÁ¤Çϰí, °¢ ¼­ºñ½º Æ÷Æ®¿¡ ÇÁ·Î¼¼½º¸¦ µÎ´Â ¹æ½ÄÀ¸·Î ºÐ»ê½ÃŲ´Ù. ¿¹¸¦ µé¾î 1000°³ÀÇ Å¬¶óÀÌ¾ðÆ® ¿¬°áÀ» ó¸®ÇØ¾ß ÇÑ´Ù¸é, 10°³ÀÇ Æ÷Æ®·Î ³ª´©¾î¼­ °¢ ÇÁ·Î¼¼½º´ç 100°³¾¿ÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ ó¸®Çϵµ·Ï ÇÏ´Â ¹æ½ÄÀÌ´Ù.


Ŭ¶óÀÌ¾ðÆ®°¡ ¿¬°áÀ» ½ÃµµÇÒ°æ¿ì 󸮷®(ȤÀº ¿¬°á·®)ÀÌ ÀûÀº ÇÁ·Î¼¼½º¸¦ È®ÀÎÇØ¼­ ÀÌ Á¤º¸¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë·ÁÁÖ¸é Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç Æ÷Æ®·Î ´Ù½Ã ¿¬°áÀ» ÇÏ´Â ¹æ½ÄÀÌ´Ù.

¶§¹®¿¡ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇϰí, ÇÁ·Î¼¼½ºÀÇ ¼­ºñ½º »óŸ¦ °ü¸®ÇÒ ¼ö ÀÖ´Â Process ManagerÇÁ·Î±×·¥ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ½ÇÇà½Ã ¼³Á¤ÆÄÀÏÀ» Àо Æ÷Æ®ÀÇ °¹¼ö¸¸Å­ ÇÁ·Î¼¼½º¸¦ fork&exec ¹æ½ÄÀ¸·Î ½ÇÇà½ÃŰ°Ô µÈ´Ù. ÇÁ·Î¼¼½º ¸Ó´ÏÀú´Â ¼­ºñ½º ÇÁ·Î¼¼½ºÀÇ »óŸ¦ ¾Ë°í ÀÖ¾î¾ß Çϴµ¥, ÀÌ·¯ÇÑ Á¤º¸´Â °øÀ¯¸Þ¸ð¸®³ª ÆÄÀϽýºÅÛµîÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù.

°¢ ¼­ºñ½º ÇÁ·Î¼¼½º´Â ´Ù½Ã fork(2)³ª ÀÔÃâ·Â´ÙÁßÈ­µîÀÇ ±â¼úÀ» ÀÌ¿ëÇØ¼­ ´Ù¼öÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù.

3.1.1 ÀåÁ¡

ÀÏ´Ü ¸ðµ¨ ÀÚü°¡ ´Ü¼øÇϸç, Á÷°üÀûÀÌ¶ó¼­ ºñ±³Àû ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ºñ±³Àû ¹ö±×°¡ ÀûÀº ¾ÈÀüÇÑ ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ´Ù. ÇϳªÀÇ ÇÁ·Î¼¼½º°¡ Á״´ٰí ÇÏ´õ¶óµµ Àüü¼­ºñ½º°¡ Á×À» ¿°·Á°¡ ¾øÀ¸¸ç, ¼­ºñ½º ÇÁ·Î¼¼½ºÀÇ ºñÁ¤»ó Á¾·á·Î Ŭ¶óÀÌ¾ðÆ® ¿¬°áÀÌ Á¾·áµÇ¾úÀ» °æ¿ì Ŭ¶óÀÌ¾ðÆ®´Â ´Ù¸¥ ¼­ºñ½º ÇÁ·Î¼¼½º¿¡ ºÙÀ» ¼ö ÀÖÀ¸¹Ç·Î ¾ÈÁ¤ÀûÀ¸·Î ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °¡Áø´Ù.

3.1.2 ´ÜÁ¡

ÇÁ·Î¼¼½º °ü¸®ÀÚÀÇ ±¸ÇöÀÌ º¹ÀâÇÒ ¼ö ÀÖ´Ù. °øÀ¯ÀڷᱸÁ¶¸¦ À¯ÁöÇØ¾ß Çϸç, ÇÁ·Î¼¼½ºÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

ÇÁ·Î¼¼½ºÀÇ »óÅ´ ´ÙÀ½°ú °°Àº ¹æ¹ýÁß Çϳª¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
  • proc(:12)¸¦ ÀÌ¿ëÇÑ °Ë»ç
  • ÆÄÀÏÀá±Ý(:12)µîÀ» ÅëÇÑ Å뺸 : ÇÁ·Î¼¼½º°¡ Á×À¸¸é ÆÄÀÏÀá±ÝÀÌ Ç®¸°´Ù.
  • pipe(:12)¸¦ ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º°£ Åë½Å

¸¸¾à ÇÁ·Î¼¼½º°£ µ¥ÀÌÅÍ ±³È¯ÀÌ ºó¹øÇÑ ¼­ºñ½º¶ó¸é ±¸ÇöÀÌ ´õ¿í º¹ÀâÇØ Áú°ÍÀÌ´Ù. ¿¹¸¦ µé¾î äÆÃ¼­ºñ½º¸¦ À§ÀÇ ¹æ½ÄÀ¸·Î ±¸ÇöÇÑ´Ù°í Çϸé, 8000Æ÷Æ® ÇÁ·Î¼¼½º¿¡ ¿¬°áµÈ À¯Àú°¡ 80001¹ø Æ÷Æ® ÇÁ·Î¼¼½º¿¡ ¿¬°áµÈ À¯Àú¿Í ¸Þ½ÃÁö¸¦ ±³È¯ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù. ÀÌ·²°æ¿ì¿¡´Â º°µµÀÇ ¸Þ½ÃÁö Àü´Þ ÇÁ·Î¼¼½º¸¦ µÎ¾î¾ß Çϸç , ·Î±×ÀÎµÈ À¯ÀúÁ¤º¸¸¦ Àü´ÞÇϱâ À§ÇÑ º°µµÀÇ ÀڷᱸÁ¶µµ °øÀ¯ÇØ¾ß ÇÑ´Ù. ¸Þ½ÃÁö Àü´Þ ÇÁ·Î¼¼½º´Â °¢ ¼­ºñ½º ÇÁ·Î¼¼½º¿Í ÆÄÀÌÇÁ·Î ¿¬°áµÇ¾î¼­ ¸Þ½Ã½ÃÀÇ °æ·Î¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ȤÀº ¸Þ½ÃÁöÅ¥¸¦ ¸¸µé¾î¼­ Àڱ⿡°Ô Àü´ÞµÇ´Â ¸Þ½ÃÁö°¡ ÀÖ´ÂÁö È®ÀÎÇØ¼­ Àо ¼ö ÀÖµµ·Ï ÄÚµùÇØ¾ß ÇÒ °ÍÀÌ´Ù. ¾î´À ¹æ¹ýÀ» ÀÌ¿ëÇØµµ ¼ö¿ùÇÏÁö ¾Ê´Ù´Â °ÍÀ» Á÷°¨ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

<!> ¸Þ½ÃÁöÀÇ Àü´ÞÀ» À§ÇÑ ¸Þ½ÃÁöÅ¥ÀÇ ±¸Çö¿¡ ´ëÇØ¼­ »ý°¢ÇØ º¸ÀÚ.

3.1.3 Àû´çÇÑ ¼­ºñ½º

Æ÷Æ®¹øÈ£¸¦ ¾ò±â À§Çؼ­ Process Manager°ú Çѹø ´õ ¿¬°áÀ» ÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î À¥°ú °°ÀÌ ºó¹øÇÑ ¿¬°á/Á¾·á°¡ ÀÌ·ç¾îÁö´Â ¼­ºñ½º¿¡´Â ÀûÇÕÇÏÁö ¾Ê´Ù. ÆÄÀÏÀü¼Û ¼­ºñ½º, ½ºÆ®¸®¹Ö ¼­ºñ½º, ¸Þ½Ã¡ ¼­ºñ½º¿Í °°ÀÌ Àå½Ã°£ ¿¬°áÀÌ ÀÌ·ç¾îÁö´Â ¼­ºñ½º¿¡ Àû´çÇÏ´Ù.


4 PreFork

Ŭ¶óÀÌ¾ðÆ®°¡ ¿¬°áµÇ´Â »õ·Î¿î ÇÁ·Î¼¼½º¸¦ fork()ÇØ¼­ ÇÒ´çÇÏ´Â ¹æ¹ýÀº Áö±Ý±îÁöµµ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. Á¦¾îÇϱⰡ ¿ëÀÌÇÏ°í ½Å·Úµµ°¡ ³ô´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸, fork½Ã¿¡ ¸¹Àº ºñ¿ëÀÌ ¼ÒºñµÈ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ¹Ù»Û¼­¹öÀÏ °æ¿ì forkµÇ´Â ½Ã°£ÀÌ ¹®Á¦°¡ µÉ ¼ö°¡ ÀÖ´Ù. prefork´Â ¹Ì·¡ ÀÚ½ÄÇÁ·Î¼¼½º¸¦ Æ÷Å© ½ÃÄѳõ°í, Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°áÀÌ µé¾î¿À¸é, ¸¸µé¾îÁ® ÀÖ´Â ÀÚ½ÄÇÁ·Î¼¼½º¿¡ ¾÷¹«¸¦ ÇÒ´çÇÏ´Â ¹æ½ÄÀ¸·Î ¿î¿ëµÈ´Ù. À̶§ ¼ÒÄÏÀü´Þ ±â¼úÀÌ »ç¿ëµÈ´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº ¼ÒÄÏÀü´Þ¹®¼­¸¦ Âü°íÇϱ⠹ٶõ´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.