MySQL的瑞士軍刀
這裡主要講mysql運維中的一些主要工具,這些工具可能大家都用過,特別是系統管理員或者做linux服務器維護的同學可能都知道這些小工具,這裡講得會比較多一些,除了系統監控的小工具,還包括一些mysql的工具,甚至深入一些的工具也會講到,重點是大家聽完了後,一定要去自己動手實踐一下,這樣才有意義,熟能生巧。
光聽說過是不行的,還得都要去實踐,實踐出真知,面試過很多朋友,問他們他們都說知道用過,但是細問下他們都關注哪些重要的點,他們就說得比較模糊,這樣是不行的,這樣會被別人一種感覺,就是你不專業,我們做技術的,一定要專業,特別是這些工具,要在實踐過程中形成自己獨有的看法和理解。
vmstat/iostat/mpstat/ifstat/dstat : stat類,查看系統狀況,
pstack:此命令可顯示每個進程的棧跟蹤。pstack 命令必須由相應進程的屬主或 root 運行。可以使用 pstack 來確定進程掛起的位置。對內核和源碼有研究的人來說,這個還是相對比較容易理解的。
測試的時候使用下面來模擬product狀況,壓力測試:
sysbench --test=fileio --file-total-size=10G--file-test-mode=rndrw --max-time=3600 --max-requests=0 run
tcprstat:tcprstat是免費開源tcp分析工具,通過監控網絡傳輸來統計分析請求的響應時間
tcpdump:抓包工具
perf:從2.6.31內核開始,linux內核自帶了一個性能分析工具perf,能夠進行函數級與指令級的熱點查找,用來進行軟件性能分析。
pt-stalk:出現問題的時候收集mysql的用於診斷的數據
orzdba:Perl腳本,用於對Linux主機和MySQL相關指標進行實時監控。
通過yum方式安裝sysstat(yum -y install sysstat),就可以使用vmstat了,vmstat:搜集內存、進程,paging等信息。
主要是看虛擬內存方面的,要詳細的看虛擬內存的話,用vmstat是一個不錯的選擇。
vmstat命令是最常見的Linux/Unix監控工具,可以展現給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,內存使用,虛擬內存交換情況,IO讀寫情況。這個命令是我查看Linux/Unix最喜愛的命令,一個是Linux/Unix都支持,二是相比top,我可以看到整個機器的CPU,內存,IO的使用情況,而不是單單看到各個進程的CPU使用率和內存使用率(使用場景不一樣)。
一般vmstat工具的使用是通過兩個數字參數來完成的,第一個參數是采樣的時間間隔數,單位是秒,第二個參數是采樣的次數,如下所示,間隔2秒,采樣3次: