ºìÁªLinuxÃÅ»§
Linux°ïÖú

Percona ToolkitϵÁÐ֮ϵͳÀ๤¾ßµÄʹÓÃ

·¢²¼Ê±¼ä:2014-06-07 15:27:03À´Ô´:ºìÁª×÷Õß:velcbo
percona-toolkitʹÓý̳Ì֮ϵͳÀ๤¾ß

1. pt-diskstats

¹¦ÄܽéÉÜ£º

ÊÇÒ»¸ö¶ÔGUN/LINUXµÄ½»»¥Ê½¼à¿Ø¹¤¾ß

Ó÷¨½éÉÜ£º

pt-diskstats [OPTION...] [FILES]

ΪGUN/LINUX´òÓ¡´ÅÅÌioͳ¼ÆÐÅÏ¢£¬ºÍiostatÓеãÏñ£¬µ«ÊÇÕâ¸ö¹¤¾ßÊǽ»»¥Ê½²¢ÇÒ±Èiostat¸üÏêϸ¡£¿ÉÒÔ·ÖÎö´ÓÔ¶³Ì»úÆ÷ÊÕ¼¯µÄÊý¾Ý¡£

ʹÓÃʾÀý£º

·¶Àý1£º²é¿´±¾»úËùÓеĴÅÅ̵Ä״̬Çé¿ö£º

pt-diskstats

·¶Àý2£ºÖ»²é¿´±¾»úsda2´ÅÅ̵Ä״̬Çé¿ö

pt-diskstats --devices-regex sda2



2. pt-fifo-split

¹¦ÄܽéÉÜ£º

Ä£ÄâÇиîÎļþ²¢Í¨¹ý¹ÜµÀ´«µÝ¸øÏÈÈëÏȳö¶ÓÁжø²»ÓÃÕæÕýµÄÇиîÎļþ

Ó÷¨½éÉÜ£º

pt-fifo-split [options] [FILE ...]

pt-fifo-split¶ÁÈ¡´óÎļþÖеÄÊý¾Ý²¢´òÓ¡µ½fifoÎļþ£¬Ã¿´Î´ïµ½Ö¸¶¨ÐÐÊý¾ÍÍùfifoÎļþÖдòÓ¡Ò»¸öEOF×Ö·û£¬¶ÁÈ¡Íê³ÉÒԺ󣬹رյôfifoÎļþ²¢ÒÆ×ߣ¬È»ºóÖØ½¨fifoÎļþ£¬´òÓ¡¸ü¶àµÄÐС£ÕâÑù¿ÉÒÔ±£Ö¤Äãÿ´Î¶ÁÈ¡µÄʱºò¶¼ÄܶÁÈ¡µ½Öƶ¨µÄÐÐÊýÖ±µ½¶ÁÈ¡Íê³É¡£×¢Òâ´Ë¹¤¾ßÖ»Äܹ¤×÷ÔÚÀàunix²Ù×÷ϵͳ¡£Õâ¸ö³ÌÐò¶Ô´óÎļþµÄÊý¾Ýµ¼ÈëÊý¾Ý¿â·Ç³£ÓÐÓ㬾ßÌåµÄ¿ÉÒԲ鿴http://www.mysqlperformanceblog.com/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/¡£



ʹÓÃʾÀý£º

·¶Àý1£ºÒ»¸öÿ´Î¶Áȡһ°ÙÍòÐмǼµÄ·¶Àý£º

pt-fifo-split --lines 1000000 hugefile.txt

while [ -e /tmp/pt-fifo-split ]; do cat /tmp/pt-fifo-split; done

·¶Àý2£ºÒ»¸öÿ´Î¶Áȡһ°ÙÍòÐУ¬Ö¸¶¨fifoÎļþΪ/tmp/my-fifo£¬²¢Ê¹ÓÃload dataÃüÁîµ¼Èëµ½mysqlÖУº

pt-fifo-split infile.txt --fifo /tmp/my-fifo --lines 1000000

while [ -e /tmp/my-fifo ]; do

mysql -e "set foreign_key_checks=0; set sql_log_bin=0; set unique_checks=0; load data local infile '/tmp/my-fifo' into table load_test fields terminated by '\t' lines terminated by '\n' (col1, col2);"

sleep 1;

done



3. pt-summary

¹¦ÄܽéÉÜ£º

ÓѺõØÊÕ¼¯ºÍÏÔʾϵͳÐÅÏ¢¸Å¿ö£¬´Ë¹¤¾ß²¢²»ÊÇÒ»¸öµ÷ÓÅ»òÕßÕï¶Ï¹¤¾ß£¬Õâ¸ö¹¤¾ß»á²úÉúÒ»¸öºÜÈÝÒ×½øÐбȽϺͷ¢ËÍÓʼþµÄ±¨¸æ¡£

Ó÷¨½éÉÜ£º

pt-summary

Ô­Àí£º´Ë¹¤¾ß»áÔËÐкͶàÃüÁîÈ¥ÊÕ¼¯ÏµÍ³×´Ì¬ºÍÅäÖÃÐÅÏ¢£¬Ïȱ£´æµ½ÁÙʱĿ¼µÄÎļþÖÐÈ¥£¬È»ºóÔËÐÐһЩunixÃüÁî¶ÔÕâЩ½á¹û×ö¸ñʽ»¯£¬×îºÃÊÇÓÃrootÓû§»òÕßÓÐȨÏÞµÄÓû§ÔËÐдËÃüÁî¡£

ʹÓÃʾÀý£º

·¶Àý1£º²é¿´±¾µØÏµÍ³ÐÅÏ¢¸Å¿ö

pt-summary



4. pt-stalk

¹¦ÄܽéÉÜ£º

³öÏÖÎÊÌâµÄʱºòÊÕ¼¯mysqlµÄÓÃÓÚÕï¶ÏµÄÊý¾Ý

Ó÷¨½éÉÜ£º

pt-stalk [OPTIONS] [-- MYSQL OPTIONS]

pt-stalkµÈ´ý´¥·¢Ìõ¼þ´¥·¢£¬È»ºóÊÕ¼¯Êý¾Ý°ïÖú´íÎóÕï¶Ï£¬Ëü±»Éè¼Æ³ÉʹÓÃrootȨÏÞÔËÐеÄÊØ»¤½ø³Ì£¬Òò´ËÄã¿ÉÒÔÕï¶ÏÄÇЩÄã²»ÄÜÖ±½Ó¹Û²ìµÄ¼äЪÐÔÎÊÌ⡣ĬÈϵÄÕï¶Ï´¥·¢Ìõ¼þΪSHOW GLOBAL STATUS¡£Ò²¿ÉÒÔÖ¸¶¨processlistΪÕï¶Ï´¥·¢Ìõ¼þ £¬Ê¹ÓÃ--function²ÎÊýÖ¸¶¨¡£

ʹÓÃʾÀý£º

·¶Àý1£ºÖ¸¶¨Õï¶Ï´¥·¢Ìõ¼þΪstatus£¬Í¬Ê±ÔËÐÐÓï¾ä³¬¹ý20µÄʱºò´¥·¢£¬ÊÕ¼¯µÄÊý¾Ý´æ·ÅÔÚ/tmp/testĿ¼Ï£º

pt-stalk --function status --variable Threads_running --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135

·¶Àý2£ºÖ¸¶¨Õï¶Ï´¥·¢Ìõ¼þΪprocesslist£¬³¬¹ý20¸ö״̬Ϊstatistics´¥·¢£¬ÊÕ¼¯µÄÊý¾Ý´æ·ÅÔÚ/tmp/testĿ¼Ï£º

pt-stalk --function processlist --variable State --match statistics --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135

Ìùһϴﵽ´¥·¢Ìõ¼þÒÔºóÊÕ¼¯µÄÐÅÏ¢£º

2012_06_04_17_31_49-df

2012_06_04_17_31_49-disk-space

2012_06_04_17_31_49-diskstats

2012_06_04_17_31_49-hostname

2012_06_04_17_31_49-innodbstatus1

2012_06_04_17_31_49-innodbstatus2

2012_06_04_17_31_49-interrupts

2012_06_04_17_31_49-log_error

2012_06_04_17_31_49-lsof

2012_06_04_17_31_49-meminfo

2012_06_04_17_31_49-mutex-status1

2012_06_04_17_31_49-mysqladmin

2012_06_04_17_31_49-netstat

2012_06_04_17_31_49-netstat_s

2012_06_04_17_31_49-opentables1

2012_06_04_17_31_49-opentables2

2012_06_04_17_31_49-output

2012_06_04_17_31_49-pmap

2012_06_04_17_31_49-processlist

2012_06_04_17_31_49-procstat

2012_06_04_17_31_49-procvmstat

2012_06_04_17_31_49-ps

2012_06_04_17_31_49-slabinfo

2012_06_04_17_31_49-sysctl

2012_06_04_17_31_49-top

2012_06_04_17_31_49-trigger

2012_06_04_17_31_49-variables

2012_06_04_17_31_49-vmstat

2012_06_04_17_31_49-vmstat-overall

À´Ô´£ºLinuxÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ