ʹÓÃtcmallocºóµÄMySQL·þÎñÆ÷±äÎȶ¨ÁË£¨Linux£©
֮ǰ£¬Ò»Ö±À§ÄպܾõÄMySQLµÄÎÊÌâÒòΪÓÐÁËtcmallocºóµÃÒÔ½â¾ö¡£
ÎÊÌâÊÇ£ºÍøÕ¾·ÃÎÊÁ¿²»¸ß£¬¸ß·åʱ²¢·¢ÊýÔÚ300-400Ö®¼ä¡£CPU±È½Ï¸ß£¬ÔÚ30-80%Ö®¼ä²¨¶¯µÃÀ÷º¦£¬Ê¹ÓÃtopÃüÁî¿ÉÒÔ¿´µ½ÊÇmysql½ø³Ìµ¼Ö£¬Í¬Ê±ÓÃiostatºÍsar²é¿´iowaitÖµºÜ¸ßÔÚ20-30Ö®¼ä¡£
µ«ÊÇϵͳ»¹¿ÉÒÔÎȶ¨ÔËÐУ¬È»ºóÖÜÆÚÐԵijöÏÖswap·ÖÇøÕ¼ÓÃÂÊÅÊÉý£¬Ö±½Óµ¼ÖÂÓ¦ÓóÌÐòÎÞ·¨Á¬½ÓÊý¾Ý¿â¡£²»ÖªµÀÕâÊDz»ÊÇmysqlµÄswapµßô¤µÄÎÊÌ⡣û½â¾ö°ì·¨µÄʱºòÖ»ºÃ¾³£¼à¿ØÄÚ´æµÄʹÓÃÇé¿ö£¬Åöµ½swap¿ªÊ¼ÅÊÉýµÄʱºòÖØÆôMySQL·þÎñ¡£Ò»°ãÕâ¸öÖÜÆÚÔÚÒ»¸öÐÇÆÚ×óÓÒ¡£
ºóÀ´ÔÚÍøÉÏËѵ½ÁËtcmalloc£¬ËµÊÇÕâ¸ö¶«Î÷¿ÉÒÔÈÃMySQLÔڸ߲¢·¢ÏÂÐÔÄÜÒ²ºÜÎȶ¨£¬Í¬Ê±Ò²ËµÁËMySQLÕâ¸öÎÊÌâÊÇÒòΪmallocÄÚ´æ·ÖÅ亯ÊýµÄbug£¬Õâ¸öbug»áʹ¸ß²¢·¢µÄMySQLÐÔÄܼ±¾çϽµ¡£
¾ö¶¨ÊÔÊÔ¡£
ϵͳÊÇ64λµÄRedHat Enterprise Linux 5.0 ¡£ÔÚ64λϵͳÏÂÐèÒª°²×°ÁíÍâÒ»¸ö°ülibunwind¡£È»ºóÏÂÔØtcmalloc°ü£¬°´Ä¬ÈÏ·½Ê½±àÒëºÍ°²×°³É¹¦ºóÔÚ mysqld_safe ÖмÓÈë
LD_PRELOAD="/usr/local/lib/libtcmalloc.so"
ÖØÆôMySQL¡£Ã»Óа취¿ÉÒÔÑéÖ¤tcmallocÊÇ·ñÆðЧ£¬Ö»ÄÜÔÙ¼ÌÐø¼à¿ØϵͳµÄÔËÐÐ×´¿ö¡£
¾¹ýÒ»¸ö¶àÀñ°ÝÁË£¬Äã¿ÉÒÔ¿´¿´ÏÂÃæÒ»¸ö×¥×ÔmrtgµÄͼ£º
ÉÏÃæÁ½¸öͼÖУ¬µÚÒ»¸öÊÇCPUµÄͼ£¬µÚ¶þ¸öÊÇÄÚ´æµÄͼ¡£¿ÉÒÔ¿´³ö´Ó»»ÉÏtcmallocºó£¬CPUÕ¼ÓÃÂÊϽµ·Ç³£Ã÷ÏÔ£¬ÔÀ´Ò»Ö±Î¬³ÖÔÚ30%×óÓÒ£¬ÏÖÔÚÖ»Õ¼²»µ½10%¡£¶øÄÚ´æ·½Ã棬ÔÀ´ÎïÀíÄÚ´æÒ»Ö±Õ¼ÓÃ100%£¬swapÕ¼ÓÃÂʲ¨¶¯µÃºÜÀ÷º¦£¬Ï½µµãÒ»°ãÊÇÖØÆôMySQLºóµ¼Öµģ¬¶ø»»ÉÏtcmallocºó£¬ÄÚ´æά³ÖÔÚ80-90%Ö®¼ä£¬¶øswapÕ¼ÓÃÂʾͷdz£Îȶ¨£¬¿ÉÒÔ°´Áã¼Æ¡£
¶øÇÒÒѾ³ÖÐøÁËÒ»¸ö¶àÀñ°ÝÁË¡£¿ÉÒÔ˵Ч¹ûÏ൱Ï൱µÄÃ÷ÏÔ£¬·Ç³£ÁîÈËÂúÒâ¡£ÔÙÒ²²»ÓÃÀÏÈ¥¶¢×Åmrtg¿´ÁË¡£µ±È»ÕâÊÇÎҵĻúÆ÷ÉÏÏÖʵµÄÇé¿ö£¬²»ÖªµÀÆäËûϵͳÔõÑù¡£
libunwind: http://www.nongnu.org/libunwind/
tcmalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
ÏêϸµÄ°²×°²½Ö裺
#tar zxvf libunwind-0.98.6.tar.gz
#cd libunwind-0.98.6
#./configure
#make
#make install
#tar zxvf google-perftools-0.94.1.tar.gz
#cd google*
#./configure
#make
#make install
´ò¿ª mysqld_safe ½Å±¾ (ĬÈÏÔÚ/usr/bin/mysqld_safe)
Ôڴ˽ű¾Îļþ¿ªÊ¼¼ÓÈë
LD_PRELOAD="/usr/local/lib/libtcmalloc.so"
#service mysql restart
Ïà¹ØÎĵµ£º
Ê×ÏÈÈ¥MySQL¹ÙÍøÏÂÔØMySQL connector/C++
http://dev.mysql.com/downloads/connector/cpp/1.0.html
ÏÂÔصڶþ¸ö°ü£¬windows32λ·Ç°²×°°æ£¨¸öÈ˾õµÃÕâ¸ö°ü¸É¾»£©¡£Ä¿Ç°µÄ°æ±¾ÊÇConnector/C++ 1.0.5¡£
Windows (x86, 32-bit), ZIP Archive
(mysql-connector-c++-noinstall-1.0.5-win32.zip)
½«Õû¸ö°ü½âѹµ½ÏîÄ¿Îļþ¼Ðϵ ......
±¸·ÝMySQLÊý¾Ý¿âµÄÃüÁî
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
±¸·ÝMySQLÊý¾Ý¿âΪ´øɾ³ý±íµÄ¸ñʽ
±¸·ÝMySQLÊý¾Ý¿âΪ´øɾ³ý±íµÄ¸ñʽ£¬Äܹ»Èøñ¸·Ý¸²¸ÇÒÑÓÐÊý¾Ý¿â¶ø²»ÐèÒªÊÖ¶¯É¾³ýÔÓÐÊý¾Ý¿â¡£
mysqldump -–add-drop-table -uusername -ppassword databasename > backu ......
µ½×îºó»¹ÊÇ×Ô¼º½â¾öÁË£¬µ¼Ö¸ÃÎÊÌâµÄÔÒòÊÇÔÚlinuxÆô¶¯µ½×îºó³öÏÖ£º
/bin/sh: can't access tty; job control turned off
¶ø³öÏָôíÎóµÄÔÒòºÍ½â¾ö·½·¨googleºóÓÐǧ°ÙÖÖ£¬³¢ÊÔÁ˺ܶàÖÖ¶¼Ã»ÓаïÎÒ½â¾öÎÊÌâ¡£
ÏÂÃæÊÇÎÒ×Ô¼ºµÄ½â¾ö·½·¨£º
1. vi /etc/inittab µÚÒ»ÐÐÌí¼Ó
console::sysinit:/etc/init.d ......
Summary
PXE (Preboot eXecution Environment) is, in one persons words, Intel's attempt at making PCs work more like SUNs (
ref
). PXE
outlines a protocol for enabling the BIOS to retrieve the operating system over standard network protocols.
This document outlines the process of setting up a ......