7.5.4. ÄÄÆÄÀÏ ¹× ¸µÅ© ÀÛ¾÷ÀÌ ¾î¶»°Ô MySQL ¼Óµµ¿¡ ¿µÇâÀ» Áִ°¡
¾Æ·¡¿¡ ÀÖ´Â ´ëºÎºÐÀÇ Å×½ºÆ®µéÀº ¸®´ª½º¿¡¼ MySQL º¥Ä¡ ¸¶Å©¸¦ »ç¿ëÇØ¼ ½ÇÇàÇÑ °ÍµéÀ̱ä ÇÏÁö¸¸, ¿©·¯ºÐÀº À̸¦ ÅëÇØ¼ ´Ù¸¥ OS¿¡ ´ëÇÑ ÁöħÀ» ¾òÀ» ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù.
–static ¿¡ ¸µÅ©¸¦ ÇÏ¸é °¡Àå ºü¸¥ ½ÇÇà ¼Óµµ¸¦ ¾òÀ» ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù.
¸®´ª½º¿¡¼´Â, ¼¹ö¸¦ pgcc ¹× -O3 ¿Í ÇÔ²² ÄÄÆÄÀÏ ÇÏ´Â °ÍÀÌ °¡Àå ÁÁÀº ¹æ¹ýÀÌ´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀ» °¡Áö°í sql_yacc.cc ¸¦ ÄÄÆÄÀÏ Çϱâ À§Çؼ´Â ¾à 200MBÀÇ ¸Þ¸ð¸®°¡ ÇÊ¿äÇѵ¥, ±× ÀÌÀ¯´Â gcc ¶Ç´Â pgcc°¡ ¸ðµç ÇÔ¼ö¸¦ ó¸®Çϱâ À§Çؼ ¸¹Àº ¸Þ¸ð¸®¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®ÀÌ´Ù. libstdc++ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÏÁö ¾Êµµ·Ï MySQLÀ» ±¸¼ºÇÒ °æ¿ì¿¡´Â CXX=gcc ·Î ¼³Á¤Çϵµ·Ï ÇÑ´Ù.
º¸´Ù ÁÁÀº ÄÄÆÄÀÏ·¯¿Í ÄÄÆÄÀÏ ¿É¼ÇÀ» »ç¿ëÇÏ¸é ¾îÇø®ÄÉÀÌ¼Ç Ã³¸®¿¡¼ 10~30%ÀÇ ¼Óµµ Áõ°¡¸¦ ¾ò¾î³¾ ¼ö°¡ ÀÖ´Ù. À̰ÍÀº ƯÈ÷ ¿©·¯ºÐÀÌ ½º½º·Î MySQLÀ» ÄÄÆÄÀÏÇÒ ¶§¿¡´Â ƯÈ÷ Áß¿äÇÏ´Ù.
Ç¥ÁØ MySQL ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇÀº ¸ðµç ¹®ÀÚ ¼ÂÀ» Áö¿øÇϵµ·Ï ÄÄÆÄÀÏ µÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀÌ ½º½º·Î MySQLÀ» ¼³Ä¡ÇÒ ¶§¿¡´Â ¿©·¯ºÐÀÌ »ç¿ëÇϰíÀÚ ÇÏ´Â ¹®ÀÚ ¼Â¸¸À» Áö¿øÇϵµ·Ï ÇØÁÖ¾î¾ß ÇÑ´Ù. À̰ÍÀº --with-charset ¿É¼ÇÀ» configure¿¡ ÁöÁ¤ÇØ ÁÜÀ¸·Î¼ °¡´ÉÇÏ´Ù.
¾Æ·¡ÀÇ ¸®½ºÆ®´Â ¿ì¸®°¡ ÀÌ¹Ì ¸¸µé¾î ³õÀº ¸î °¡Áö ÃøÁ¤ °ªµéÀÌ´Ù:
- ¿©·¯ºÐÀÌ pgcc¸¦ »ç¿ëÇÏ°í ¸ðµç °ÍÀ»
-O6 ·Î ÄÄÆÄÀÏ ÇÑ´Ù¸é, mysqld ¼¹ö´Â gcc 2.95.2 º¸´Ù 1% Á¤µµ ¼Óµµ°¡ °³¼±µÈ´Ù.
- ¿©·¯ºÐÀÌ µ¿ÀûÀ¸·Î (
-static ¾øÀÌ) ¸µÅ©¸¦ ÇÑ´Ù¸é, ¸®´ª½º¿¡¼´Â 13% Á¤µµ ¼Óµµ°¡ ´À·ÁÁö°Ô µÈ´Ù. ¿©·¯ºÐÀº ¿©ÀüÈ÷ Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇØ¼´Â MySQL ¶óÀ̺귯¸®¸¦ µ¿ÀûÀ¸·Î ¸µÅ© ½Ãų ¼ö°¡ ÀÖ´Ù´Â Á¡À» ¾Ë¾Æ µÎ±â ¹Ù¶õ´Ù. ¼º´É¿¡ ´ëÇØ¼´Â ¼¹ö ÂÊÀÌ º¸´Ù ½É°¢ÇØÁö´Â °ÍÀÌ´Ù.
- µ¿ÀÏÇÑ È£½ºÆ®¿¡ ÀÖ´Â ¼¹ö·Î Á¢¼ÓÀ» Çϴ Ŭ¶óÀ̾ðÆ®ÀÇ °æ¿ì, ¸¸ÀÏ ¿©·¯ºÐÀÌ À¯´Ð½º ¼ÒÄÏ ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾Ê°í TCP/IP¸¦ »ç¿ëÇÏ´Â °æ¿ì¶ó¸é, 7.5% Á¤µµÀÇ ¼Óµµ ÀúÇϰ¡ »ý±â°Ô µÈ´Ù. (À¯´Ð½ºÀÇ °æ¿ì, ¸¸ÀÏ ¿©·¯ºÐÀÌ È£½ºÆ® À̸§ localhost¿¡ Á¢¼ÓÀ» ÇÑ´Ù¸é, MySQLÀº µðÆúÆ®·Î ¼ÒÄÏ ÆÄÀÏÀ» »ç¿ëÇÑ´Ù.)
- Ŭ¶óÀÌ¾ðÆ®¿¡¼ ¼¹ö·ÎÀÇ Á¢¼ÓÀ» TCP/IP·Î ÇÏ´Â °æ¿ì¿¡´Â, ´Ù¸¥ È£½ºÆ®¿¡ ÀÖ´Â ¿ø°Ý ¼¹ö¿ÍÀÇ Á¢¼ÓÀÌ µ¿ÀÏ È£½ºÆ®¿¡ ÀÖ´Â ¼¹ö¿ÍÀÇ Á¢¼Óº¸´Ù ¾à 8–11% Á¤µµ ´À·ÁÁö°Ô µÈ´Ù.
- º¸¾È Á¢¼ÓÀ» »ç¿ëÇØ¼ º¥Ä¡¸¶Å© Å×½ºÆ®¸¦ ±¸µ¿ ½Ã۸é (¸ðµç µ¥ÀÌÅ͸¦ ³»ºÎ SSLÀ» °¡Áö°í ¾ÏÈ£È ÇÔ) ¼º´ÉÀº ¾Ïȣȸ¦ ÇÏÁö ¾ÊÀº Á¢¼Ó¿¡ ºñÇØ 55% Á¤µµ ´À·ÁÁö°Ô µÈ´Ù.
- ¿©·¯ºÐÀÌ
--with-debug=full ¸¦ »ç¿ëÇØ¼ ÄÄÆÄÀÏÀ» ÇÏ´Â °æ¿ì¿¡´Â, ´ëºÎºÐÀÇ Äõ¸®°¡ 20% Á¤µµ ´À·ÁÁö°Ô µÈ´Ù. ¾î¶² Äõ¸®µéÀº ½É°¢ÇÒ Á¤µµ·Î ¿À·¡ °É¸®±âµµ ÇÑ´Ù; ¿¹¸¦ µé¸é, MySQL º¥Ä¡ ¸¶Å©´Â 35% Á¤µµ ´À·ÁÁö°Ô µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ --with-debug (=full ¾øÀÌ)¸¦ »ç¿ëÇÑ´Ù¸é, ¼Óµµ´Â 15% Á¤µµ ´À·ÁÁø´Ù. --with-debug=full À» »ç¿ëÇØ¼ ÄÄÆÄÀÏ µÈ mysqldÀÇ °æ¿ì, ¿©·¯ºÐÀº ¼¹ö°¡ ½ÃÀÛµÉ ¶§ --skip-safemalloc ¿É¼ÇÀ» »ç¿ëÇØ¼ ·± ŸÀÓ½ÃÀÇ ¸Þ¸ð¸® °Ë»ç¸¦ ºñ Ȱ¼ºÈ ½Ãų ¼ö°¡ ÀÖ´Ù. ÀÌ·¸°Ô Çϸé --with-debug ¸¦ »ç¿ëÇØ¼ ±¸¼ºÇßÀ» ¶§ ¾ò¾îÁö´Â ¼öÁظ¸ÅÀÇ ½ÇÇà ¼Óµµ¸¦ ¾òÀ» ¼ö°¡ ÀÖ°Ô µÈ´Ù. |