|
|
|
Àü¹®°¡°¡ ¾Ë·ÁÁÖ´Â À¥ ÆÛÆ÷¸Õ½º Æ©´× : ºü¸£°í °¡º¿î À¥ ¼ºñ½º¸¦ À§ÇÑ ¼º´É ÃÖÀûÈ ±â¹ý
|
|
|
À§Å°ºÏ½º ¿ÀǼҽº À¥ ½Ã¸®Áî1
¤Ó ±è¹ÎÈ£
¤Ó
À§Å°ºÏ½º
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
À¥ ¼ºñ½º °í¼Óȸ¦ À§ÇÑ ¼º´É °³¼± ¹æ¹ý°ú ³ëÇϿ츦 ¾Ë±â ½±°Ô ¼³¸íÇÕ´Ï´Ù!
¡¶Àü¹®°¡°¡ ¾Ë·ÁÁÖ´Â À¥ ÆÛÆ÷¸Õ½º Æ©´×¡·Àº ÀÏ»óÀûÀ¸·Î »ç¿ëµÇ´Â À¥ ¼ºñ½ºÀÇ ¼º´É °³¼± ¹æ¹ýÀ» ¼Ò°³ÇÏ´Â ½Ç¿ëÀûÀÎ ¾È³»¼ÀÔ´Ï´Ù. ÀÌ Ã¥Àº LINE ÁÖ½Äȸ»ç(ÇöÀç LINE¾ßÈÄ ÁÖ½Äȸ»ç·Î º¯°æ)°¡ ÁÖÃÖÇÏ´Â ¡®ISUCON¡¯À̶ó´Â À¥ ¼ºñ½º ¼º´É °³¼± ´ëȸ¸¦ Áß½ÉÀ¸·Î, ½ÇÁ¦·Î »ç¿ëµÇ´Â ¹®Á¦µéÀ» ÅëÇØ À¥ ¼ºñ½ºÀÇ ¼º´É ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ» ±íÀÌ ÀÖ°Ô ´Ù·ì´Ï´Ù.
À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ¿äû¿¡ ºü¸£°Ô ¹ÝÀÀÇÏ°í, µ¥ÀÌÅͺ£À̽º¿Í È¿À²ÀûÀ¸·Î »óÈ£ÀÛ¿ëÇÏ´Â °ÍÀº À¥ ¼ºñ½ºÀÇ ¼º´É Çâ»ó¿¡ °áÁ¤ÀûÀÎ ¿ªÇÒÀ» ÇÕ´Ï´Ù. ÀÌ Ã¥Àº ÄÚµå ÃÖÀûÈ, ¹Ìµé¿þ¾î ¼³Á¤, ¿î¿µÃ¼Á¦ ¼³Á¤ º¯°æ µî°ú °°Àº ´Ù¾çÇÑ ¼º´É °³¼± Àü·«À» Á¦½ÃÇϸç, ÇÊ¿ä¿¡ µû¶ó À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î º¯°æ°ú °°Àº °í±Þ ±â¼úµµ ´Ù·ì´Ï´Ù.
¶ÇÇÑ, À¥ ¼ºñ½ºÀÇ °³¹ß ¹× ¿î¿µ¿¡ Á¾»çÇÏ´Â ¸ðµç Àü¹®°¡¿¡°Ô À¯ÀÍÇÑ ³»¿ëÀ» ´ã°í ÀÖ½À´Ï´Ù. ƯÈ÷ ¼º´É °³¼±ÀÇ Çʿ伺À» ´À³¢´Â °³¹ßÀÚ¿Í ¿£Áö´Ï¾î¿¡°Ô ÇʼöÀûÀÎ Áöħ¼·Î, ISUCON ´ëȸ Âü°¡¸¦ °í·ÁÇÏ°í Àְųª ¼º´É ¹®Á¦ ÇØ°á¿¡ ¾î·Á¿òÀ» °Þ°í ÀÖ´Â À̵鿡°Ô ¸Å¿ì À¯¿ëÇÒ °ÍÀÔ´Ï´Ù. ÀúÀÚµéÀº ÀڽŵéÀÇ ½ÇÁ¦ ÇöÀå °æÇè°ú ISUCON ´ëȸ¿¡¼ÀÇ ¼º°ø »ç·Ê¸¦ ¹ÙÅÁÀ¸·Î, À¥ ¼ºñ½ºÀÇ ¼º´ÉÀ» È¿°úÀûÀ¸·Î °³¼±ÇÏ´Â µ¥ ÇÊ¿äÇÑ ½ÇÁúÀûÀÎ Á¶¾ðÀ» Á¦°øÇÕ´Ï´Ù.
-
-
¢Ã 1Àå: Æ©´×ÀÇ ±âÃÊ Áö½Ä
1-1 ÇöÀç À¥ ¼ºñ½ºÀÇ Çʼö ¿ä°ÇÀÎ ¡®¼Óµµ¡¯
___À¥ ¼ºñ½ºÀÇ °æÀï·Â°ú Á÷°áµÇ´Â ¡®¼Óµµ¡¯
___SEO¿¡µµ ¿µÇâÀ» ÁÖ´Â ¡®¼Óµµ¡¯
1-2 ¼Óµµ°¡ ºü¸¥ À¥ ¼ºñ½º
___ºñ¿ë Àý°¨¿¡µµ ¿µÇâÀ» ¹ÌÄ¡´Â ¡®¼Óµµ¡¯
___¼Óµµ°¡ ºü¸¥ À¥ ¼ºñ½º¶õ?
___À¥ ¼ºñ½º ¼Óµµ ´ÜÀ§
___À¥ ¼ºñ½ºÀÇ ±¸Á¶ ÀÌÇØ
1-3 À¥ ¼ºñ½º ºÎÇÏ
___À¥ ¼ºñ½ºÀÇ ºÎÇÏ°¡ ³ôÀº »óÅÂ
___¼Óµµ¿Í ¿ë·®
___¼º´É Æ©´×
1-4 À¥ ¼ºñ½º ¿ë·®
___ÇÊ¿ä ÃæºÐÇÑ ¿ë·®
___ÇÊ¿ä ÃæºÐÇÑ ¿ë·®À» ¿¹ÃøÇÏ´Â ¹æ¹ý
1-5 ¼º´É Æ©´×ÀÇ ½ÃÀÛ(1)
___ÃßÃøÇÏÁö ¾Ê°í °èÃø
___°øÁ¤ÇÑ ºñ±³
___Çϳª¾¿ ºñ±³
1-6 ¼º´É Æ©´×ÀÇ ½ÃÀÛ(2)
___º´¸ñ Çö»ó ÇؼÒ
___º´¸ñÀ» ½Äº°ÇÒ ¶§´Â ¹Ù±ùÂÊ¿¡¼ ¾ÈÂÊÀ¸·Î
___º´¸ñ Çö»ó¿¡ ´ëóÇÏ´Â 3°¡Áö ¹æ¹ý
1-7 ¼º´É Æ©´×ÀÇ ½ÃÀÛ(3)
___ºÎÇÏ Å×½ºÆ®ÀÇ °úÁ¤ °³¿ä
1-8 Á¤¸®
¢Ã 2Àå: ¸ð´ÏÅ͸µ
2-1 ¸ð´ÏÅ͸µÀ̶õ - ÀÎÇÁ¶ó¿¡¼ÀÇ Å×½ºÆ®
2-2 ¸ð´ÏÅ͸µ °³³ä
2-3 ¸ð´ÏÅ͸µ Á¾·ù
___¿ÜÇü °¨½Ã
___³»ºÎ °¨½Ã
2-4 ¼öµ¿ ¸ð´ÏÅ͸µ
2-5 ¸ð´ÏÅ͸µ µµ±¸
2-6 ¸ð´ÏÅ͸µ µµ±¸ÀÇ ±¸Á¶
___¿¡ÀÌÀüÆ® node_exporter
___node_exporter·Î ¾òÀ» ¼ö ÀÖ´Â ¸ÞÆ®¸¯
2-7 ¸ð´ÏÅ͸µ ½Ç½Ã
2-8 ¸ð´ÏÅ͸µ ½Ã ...ÁÖÀÇÁ¡
___¿Ã¹Ù¸¥ ÃøÁ¤ °á°ú È®ÀÎ
___2°³ÀÇ ±×·¡ÇÁ¸¦ ºñ±³ÇÒ ¶§ ´Ù¸¥ Á¶°Ç ¸ÂÃß±â
___ºÎÇÏ°¡ ³ôÀº »óÅ ¸ð´ÏÅ͸µ
___¸ð´ÏÅ͸µ ÇØ»óµµ
2-9 ·Î±× ¸ð´ÏÅ͸µ
2-10 Á¤¸®
¢Ã 3Àå: ºÎÇÏ Å×½ºÆ®ÀÇ ±âÃÊ
3-1 private-isu
___private-isu »ç¾ç ¹× ¿î¿µ ȯ°æ
___Á÷Á¢ private-isu¸¦ µ¿ÀÛ
___Amazon EC2¿¡¼ private-isu ½ÃÀÛ
___Docker¿¡¼ private-isu ½ÃÀÛ
___private-isu ½ÇÇà
3-2 ºÎÇÏ Å×½ºÆ® Áغñ
___ºÎÇÏ Å×½ºÆ® ȯ°æ Áغñ
___nginxÀÇ ¾×¼¼½º ·Î±× Áý°è
___¾×¼¼½º ·Î±×¸¦ JSON Çü½ÄÀ¸·Î Ãâ·Â
___JSON Çü½ÄÀÇ ¾×¼¼½º ·Î±× Áý°è
___alp¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ý
___alp¸¦ »ç¿ëÇÑ ·Î±× Çؼ® ¹æ¹ý
3-3 º¥Ä¡¸¶Ä¿·Î ºÎÇÏ Å×½ºÆ® ½Ç½Ã
___ab ¸í·É ¼³Ä¡
___ab ¸í·É »ç¿ë¹ý
___abÀÇ °á°ú¿Í alpÀÇ °á°ú ºñ±³
___¾×¼¼½º ·Î±× ·ÎÅ×À̼Ç
3-4 ¼º´É Æ©´× ½ÃÀÛ
___ºÎÇÏ Å×½ºÆ® ½Ç½Ã - ù ¹ø° °á°ú È®ÀÎ
___ºÎÇÏ Å×½ºÆ® Áß ºÎÇÏ ¸ð´ÏÅ͸µ
___MySQL º´¸ñÀ» ¹ß°ßÇÒ Áغñ
___½½·Î¿ì Äõ¸® ·Î±× ±¸¹® Çؼ®
___Æ©´× °á°ú¸¦ È®ÀÎÇÏ´Â ºÎÇÏ Å×½ºÆ®
___»õ·Î¿î º´¸ñ ã±â
3-5 º¥Ä¡¸¶Ä¿ÀÇ º´·Ä¼º
___¼¹öÀÇ Ã³¸® ´É·ÂÀ» ÀüºÎ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö È®ÀÎ
___¿Ö CPU¸¦ »ç¿ëÇÏÁö¾Ê´Â°¡?
___¿©·¯ CPU¸¦ È¿°úÀûÀ¸·Î »ç¿ëÇϱâ À§ÇÑ ¼³Á¤
___¼¹ö º´·Ä¼ºÀ» ³ô¿© ºÎÇÏ Å×½ºÆ® ½Ç½Ã
3-6 Á¤¸®
¢Ã 4Àå: ½Ã³ª¸®¿À ºÎÇÏ Å×½ºÆ®
4-1 ºÎÇÏ Å×½ºÆ® µµ±¸ k6
___k6 ¼³Ä¡
4-2 k6·Î °£´ÜÇÑ ºÎÇÏ Å×½ºÆ®
4-3 k6·Î ½Ã³ª¸®¿À ÀÛ¼º
___½Ã³ª¸®¿À¿¡¼ °øÅëÀ¸·Î »ç¿ëÇÏ´Â ÇÔ¼ö¸¦ Á¤ÀÇ
___À¥ ¼ºñ½º ÃʱâÈ Ã³¸® ½Ã³ª¸®¿À ÀÛ¼º
___sleep() ÇÔ¼ö: ÀÏÁ¤½Ã°£ ´ë±â
___»ç¿ëÀÚ°¡ ·Î±×ÀÎÇØ ´ñ±ÛÀ» ÀÛ¼ºÇÏ´Â ½Ã³ª¸®¿À ÀÛ¼º
___check() ÇÔ¼ö: ÀÀ´ä ³»¿ë È®ÀÎ
___parseHTML() ÇÔ¼ö: HTML ³»ÀÇ ¿ä¼Ò¸¦ Ãëµæ
___ÆÄÀÏ ¾÷·Îµå°¡ Æ÷ÇÔµÈ ¾ç½Ä Á¦Ãâ
___½Ã³ª¸®¿À¿¡¼ »ç¿ëÇÒ ¿ÜºÎ µ¥ÀÌÅÍ Áغñ
4-4 ¿©·¯ ½Ã³ª¸®¿À¸¦ °áÇÕÇÑ ÅëÇÕ ½Ã³ª¸®¿À ½Ç½Ã
___ÅëÇÕ ½Ã³ª¸®¿À ½ÇÇà °á°ú ¿¹
4-5 ºÎÇÏ Å×½ºÆ®¿¡¼ ¾òÀº ¾×¼¼½º ·Î±× Çؼ®
4-6 Á¤¸®
¢Ã 5Àå: µ¥ÀÌÅͺ£À̽º Æ©´×
5-1 µ¥ÀÌÅͺ£À̽ºÀÇ Á¾·ù ¹× ¼±ÅÃ
___ÀÏ°ü¼ºÀ» °Á¶ÇÏ´Â RDBMS
___ÀÀ¿ë ÇÁ·Î±×·¥ ¿ä±¸¿¡ ¸ÂÃá NoSQL
___ÀÏ°ü¼º°ú ºÐ»êÀ» ¸ðµÎ ÃæÁ·ÇÏ´Â NewSQL
___µ¥ÀÌÅͺ£À̽º ¼±ÅÃ
5-2 µ¥ÀÌÅͺ£À̽º ºÎÇÏ ÃøÁ¤
___OS¿¡¼ ºÎÇϸ¦ ¸ð´ÏÅ͸µ
___MySQL ÇÁ·Î¼¼½º ¸ñ·Ï
___pt-query-digest·Î ½½·Î¿ì Äõ¸® ·Î±× ºÐ¼®
___query-digester¸¦ »ç¿ëÇÑ ÇÁ·ÎÆÄÀϸµ ÀÚµ¿È
___pt-query-digest °á°ú È®ÀÎ
5-3 À妽º·Î µ¥ÀÌÅͺ£À̽º¸¦ °í¼ÓÈ
___µ¥ÀÌÅͺ£À̽º¿¡¼ °á°ú¸¦ ºü¸£°Ô ¾òÀ¸·Á¸é
___µ¥ÀÌÅͺ£À̽º¿¡¼ À妽ºÀÇ ¿ªÇÒ
___À妽º·Î ÀÎÇØ °Ë»öÀÌ »¡¶óÁö´Â ÀÌÀ¯
___MySQL¿¡¼ À妽º »ç¿ë
___º¹ÇÕ À妽º ¹× Á¤·Ä¿¡ »ç¿ëµÇ´Â À妽º
___Ŭ·¯½ºÅÍ À妽º ±¸¼º ¹× Ŭ·¯½ºÅÍ À妽º¿¡¼ À妽º Æ©´×
___³Ê¹« ¸¹Àº À妽º »ý¼ºÀ¸·Î ÀÎÇÑ ¾ÈƼ ÆÐÅÏ
___MySQLÀÌ Áö¿øÇÏ´Â ±âŸ À妽º
5-4 N+1À̶õ?
___Äõ¸® ¼ö°¡ Áõ°¡Çϸé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ´À·ÁÁö´Â ÀÌÀ¯
___N+1À» ã°í ÇØ°áÇÏ´Â ¹æ¹ý
___µ¥ÀÌÅͺ£À̽º ÀÌ¿Ü¿¡µµ ÀÖ´Â N+1 ¹®Á¦
5-5 µ¥ÀÌÅͺ£À̽º¿Í ÀÚ¿øÀ» È¿À²ÀûÀ¸·Î »ç¿ë
___FORCE INDEX¿Í STRAIGHT_JOIN
___ÇÊ¿äÇÑ ¿¸¸ ÃëµæÇØ È¿À²È
___ÇÁ¸®Æä¾îµå ½ºÅ×ÀÌÆ®¸ÕÆ®¿Í Go ¾ð¾î¿¡¼ÀÇ ¿¬°á ¼³Á¤
___µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°á Áö¼Ó¼º ¹× ÃÖ´ë ¿¬°á ¼ö
5-6 Á¤¸®
¢Ã 6Àå: ¸®¹ö½º ÇÁ¶ô½Ã »ç¿ë
6-1 ÀÀ¿ë ÇÁ·Î±×·¥ ¹× ÇÁ·Î¼¼½º ½º·¹µå
6-2 ¸®¹ö½º ÇÁ¶ô½Ã¸¦ ÀÌ¿ëÇÏ´Â ÀåÁ¡
6-3 nginx¶õ?
6-4 nginx ±¸Á¶
6-5 nginx·Î Àü¼ÛÇÒ ¶§ µ¥ÀÌÅÍ ¾ÐÃà
6-6 nginx¿¡ ÀÇÇÑ ¿äû ÀÀ´ä ¹öÆÛ¸µ
6-7 nginx¿Í ¾÷½ºÆ®¸² ¼¹öÀÇ ¿¬°á °ü¸®
6-8 nginxÀÇ TLS Åë½Å ¼Óµµ Çâ»ó
6-9 Á¤¸®
¢Ã 7Àå: ij½Ã È°¿ë
7-1 ij½Ã µ¥ÀÌÅÍ ÀúÀå¿¡ »ç¿ëµÇ´Â ¹Ìµé¿þ¾î
7-2 ij½Ã¸¦ KVS¿¡ ÀúÀåÇÒ ¶§ÀÇ ÁÖÀÇÁ¡
7-3 ¾ðÁ¦ ij½Ã¸¦ »ç¿ëÇÒ±î?
___TTLÀ» ÃæºÐÈ÷ ª°Ô ¼³Á¤
7-4 ±¸Ã¼ÀûÀΠij½Ã ±¸Çö ¹æ¹ý
___ij½Ã¿¡ µ¥ÀÌÅÍ°¡ ¾øÀ¸¸é ij½Ã¸¦ »ý¼ºÇØ »ý¼º °á°ú¸¦ ÀúÀåÇÏ´Â ¹æ¹ý
___ij½Ã°¡ ¾ø´Ù¸é ±âº»°ªÀ̳ª ÀÌÀüÀÇ Ä³½Ã¸¦ ¹Ý
___ºñµ¿±âÀûÀ¸·Î ij½Ã °»½Å 󸮸¦ ½Ç½Ã
___ÀÏ°ý ó¸® µîÀ¸·Î Á¤±âÀûÀ¸·Î ij½Ã¸¦ °»½Å
___Private-isu¿¡¼ ½ÇÁ¦·Î ij½Ã »ç¿ë
7-5 ij½Ã ¸ð´ÏÅ͸µ
7-6 Á¤¸®
¢Ã 8Àå: ¾Ë¾Æ µÎ¸é ÁÁÀº °í¼ÓÈ ¹æ¹ý
8-1 ¿ÜºÎ ¸í·É ½ÇÇàÀÌ ¾Æ´Ñ ¶óÀ̺귯¸® »ç¿ë
8-2 °³¹ß¿ë ¼³Á¤¿¡¼ ºÒÇÊ¿äÇÑ ·Î±×¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù
8-3 HTTP Ŭ¶óÀ̾ðÆ® »ç¿ë ±â¹ý
___ÀûÀýÇÑ Å¸ÀӾƿô ¼³Á¤
___µ¿ÀÏÇÑ È£½ºÆ®¿¡ ´ë·®ÀÇ ¿äûÀ» º¸³»´Â °æ¿ì È£½ºÆ®ÀÇ ¿¬°á ¼ö Á¦ÇÑ È®ÀÎ
8-4 Á¤Àû ÆÄÀÏÀ» ¸®¹ö½º ÇÁ¶ô½Ã¿¡¼ Á÷Á¢ Àü´Þ
8-5 Ŭ¶óÀ̾ðÆ® Ãø¿¡¼ ij½Ã¸¦ È°¿ëÇϱâ À§ÇØ HTTP Çì´õ¸¦ »ç¿ë
8-6 CDN»ó¿¡ HTTP ÀÀ´äÀ» ij½Ã
___CDNÀº Àü ¼¼°è ¾îµð¼ ¾×¼¼½ºÇÏ´õ¶óµµ ºü¸¥ ¼ºñ½º¸¦ Á¦°ø
___Cache-ControlÀ» »ç¿ëÇØ CDN ¶Ç´Â Proxy¿¡ ij½Ã
8-7 Á¤¸®
¢Ã 9Àå: OS ±âÃÊ Áö½Ä°ú Æ©´×
9-1 È帧 ÆľÇÇϱâ
9-2 ¸®´ª½º Ä¿³ÎÀÇ ±âÃÊ Áö½Ä
9-3 ¸®´ª½ºÀÇ ÇÁ·Î¼¼½º °ü¸®
9-4 ¸®´ª½ºÀÇ ³×Æ®¿öÅ©
___³×Æ®¿öÅ© ¸ÞÆ®¸¯
___¸®´ª½º Ä¿³Î¿¡¼ ÆÐŶ ó¸® È¿À²¼º
9-5 ¸®´ª½ºÀÇ µð½ºÅ© I/O
___½ºÅ丮Áö Á¾·ù
___½ºÅ丮Áö ¼º´ÉÀ̶õ - 󸮷®, Áö¿¬ ½Ã°£, IOPS
___½ºÅ丮Áö ¼ºÁú Á¶»ç
___µð½ºÅ© ¸¶¿îÆ® ¿É¼Ç
___I/O ½ºÄÉÁÙ·¯
9-6 CPU »ç¿ë·ü
___us - User: »ç¿ëÀÚ °ø°£¿¡¼ CPU »ç¿ë·ü
___sy - System: Ä¿³Î °ø°£¿¡¼ÀÇ CPU »ç¿ë·ü
___ni - Nice: nice °ª(¿ì¼±¼øÀ§)ÀÌ º¯°æµÈ ÇÁ·Î¼¼½ºÀÇ CPU »ç¿ë·ü
___id - Idle: »ç¿ëµÇÁö ¾Ê´Â CPU
___wa - Wait: I/O 󸮸¦ ±â´Ù¸®´Â ÇÁ·Î¼¼½ºÀÇ CPU »ç¿ë·ü
___hi - Hardware Interrupt: Çϵå¿þ¾î ÀÎÅÍ·´Æ® ÇÁ·Î¼¼½ºÀÇ »ç¿ë·ü
___si - Soft Interrupt: ¼ÒÇÁÆ® ÀÎÅÍ·´Æ® ÇÁ·Î¼¼½ºÀÇ »ç¿ë·ü
___st - Steal: ÇÏÀÌÆÛ¹ÙÀÌÀú°¡ »ç¿ëÇÏ´Â CPU »ç¿ë·ü
9-7 ¸®´ª½º¿¡¼ÀÇ È¿À²ÀûÀÎ ½Ã½ºÅÛ ¼³Á¤
___ulimit
9-8 ¸®´ª½º Ä¿³Î ¸Å°³º¯¼ö
___net.core.somaxconn
___net.ipv4.ip_local_port_range
9-9 MTU(Maximum Transmission Unit)
___±âŸ Ä¿³Î ¸Å°³º¯¼ö
9-10 Á¤¸®
¢Ã ºÎ·ÏA: private-isu °ø·« ½Çõ
A-1 ÁغñÇÑ ´ëȸ¿ë ȯ°æ
A-2 º¥Ä¡¸¶Ä¿ ½ÇÇà ¹æ¹ý
A-3 °¢ Àå¿¡¼ ¼Ò°³ÇÑ ¹æ¹ý Àû¿ë
___Ãʱ⠻óÅÂ(¾à 640Á¡)
___comments Å×ÀÌºí¿¡ À妽º Ãß°¡(¾à 5,500Á¡)
___unicorn worker ÇÁ·Î¼¼½º¸¦ 4·Î ¼³Á¤(¾à 13,000Á¡)
___Á¤Àû ÆÄÀÏÀ» nginx·Î Àü´Þ(¾à 17,000Á¡)
___¾÷·Îµå À̹ÌÁö¸¦ Á¤Àû ÆÄÀÏÈ(¾à 22,000Á¡)
___GET /À» ºÐ¼®
___posts¿Í users¸¦ JOINÇØ ÇÊ¿äÇÑ Çà ¼ö¸¸ Ãëµæ(¾à 90,000Á¡)
___º¥Ä¡¸¶Ä¿°¡ »ç¿ëÇÏ´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍ »óÇÑÀ» Áõ°¡
___ÇÁ¸®Æä¾îµå ½ºÅ×ÀÌÆ®¸ÕÆ®¸¦ °³¼±(¾à 110,000Á¡)
___comments Å×ÀÌºí¿¡ À妽º »ý¼º (¾à 115,000Á¡)
___posts¿¡¼ N+1 Äõ¸® °á°ú ij½Ã(¾à 180,000Á¡)
___ÀûÀýÇÑ À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â Äõ¸®¸¦ ÇØ°á(¾à 200,000Á¡ )
___¿ÜºÎ ¸í·É È£Ãâ ÁßÁö(¾à 240,000Á¡)
___MySQL ¼³Á¤ º¯°æ (¾à 250,000Á¡)
___memcached¿¡ ´ëÇÑ N + 1 Á¦°Å (¾à 300,000 Á¡ )
___RubyÀÇ YJIT¸¦ È°¼ºÈ(¾à 320,000Á¡)
___óÀ½¿¡ »ý¼ºÇÑ À妽º¸¦ »èÁ¦(¾à 10,000Á¡)
A-4 Á¤¸®
¢Ã ºÎ·ÏB: º¥Ä¡¸¶Ä¿ ±¸Çö
B-1 ISUCONÀÇ º¥Ä¡¸¶Ä¿´Â ¹«¾ùÀΰ¡?
___ºÎÇÏ Å×½ºÆ® µµ±¸·Î¼ÀÇ º¥Ä¡¸¶Ä¿
___À¥ ¼ºñ½º ±¸Çö¿¡ ´ëÇÑ E2E Å×½ºÆ®·Î¼ÀÇ º¥Ä¡¸¶Ä¿
___Á¡¼ö¿Í ¿¡·¯¸¦ Á¦°øÇÏ´Â Á¤º¸¿øÀ¸·Î¼ÀÇ º¥Ä¡¸¶Ä¿
___º¥Ä¡¸¶Ä¿¿¡ ¿ä±¸µÇ´Â Çൿ¿¡ ÁÖÀÇÇÒ °Í
B-2 ÀÚÁÖ »ç¿ëµÇ´Â º¥Ä¡¸¶Ä¿ ±¸Çö ÆÐÅÏ
___context.Context
___time°ú context¿¡ ÀÇÇÑ ·çÇÁ ÆÐÅÏ
___sync ÆÐÅ°Áö »ç¿ë
___sync/atomic ÆÐÅ°Áö »ç¿ë
___Functional Option ÆÐÅÏ
B-3 private-isu¸¦ ´ë»óÀ¸·Î ÇÑ º¥Ä¡ ¸¶Ä¿ ±¸Çö
___ÀÔÃâ·Â ¼³°è
___µ¥ÀÌÅÍ °®±â
___ÃʱâÈ Ã³¸® ±¸ÇöÇϱâ
___·Î±×ÀÎÇϴ ó¸® ÀÛ¼º
___À̹ÌÁö¸¦ °Ô½ÃÇϴ ó¸® ¸¸µé±â
___ÃÖ»óÀ§ ÆäÀÌÁö °ËÁõ
___Á¡¼ö °è»ê
___½ÇÁ¦·Î ½ÇÇàÇÏ°í µ¿ÀÛÀ» È®ÀÎ
B-4 Á¤¸®
-
-
-
|
±è¹ÎÈ£ [Àú]
|
|
-
´ëÇп¡¼ »çÀ̹ö ÇØÅ· º¸¾ÈÀ» Àü°øÇÏ°í º¸¾È ±³À°À» ½ÃÀÛÀ¸·Î º¸¾È ¾÷°è¿¡ ù¹ßÀ» ³»µðµ±´Ù. ¿©·¯ ÀÎÅÍ³Ý ±â¾÷ÀÇ »ç³» º¸¾ÈÀ» ´ã´çÇßÀ¸¸ç ÇöÀç´Â ¼ÒÇÁÆ®¹ðÅ© ±×·ìÀÇ ¿ÂÇÁ·¹¹Ì½º ¹× Ŭ¶ó¿ìµå ȯ°æÀÇ º¸¾È »ç°í °¨½Ã¤ýºÐ¼®¤ý´ëÀÀ ¾÷¹«¸¦ ÁÖ·Î ´ã´çÇÏ°í ÀÖ´Ù.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|