Web系統(tǒng)性能調(diào)優(yōu)

系統(tǒng)很慢,是我們對(duì)性能出現(xiàn)瓶頸的直觀感受。那么怎樣診斷一個(gè)變慢了的系統(tǒng)的性能瓶頸呢?

CPU

1.top

可以查看CPU的整體使用率和空閑率

top -n 1只顯示一次,查看進(jìn)程消耗的CPU占比。

2. 查看CPU的數(shù)量/proc/cpuinfo和lscpu

3. 查看感興趣進(jìn)程的更多信息ps -lf3001

4. 查看此進(jìn)程機(jī)器父進(jìn)程的更多信息ps -o state,user,pid,ppid,nice,%cpu,cmd -p 3000,3001

5. 查看更多ps --forest -eouser,pid,ppid,%cpu,cmd

Memory:

free查看內(nèi)存使用情況

查看 out of memory killer情況。journalctl | grep "Out of memory"。

檢查某個(gè)特定進(jìn)程的 memory 使用情況ps -eouser,pid,ppid,%mem,rss,vsize,comm | grep PROCESS_NAME

vmstat-n 10 5

Disk:

1.iostat-x 10 3查看是否有I/O帶寬平并。跟vmstat一樣,不要看第一次輸出,那是從開(kāi)機(jī)到目前的平均值,從第二次輸出看起。

iowait值很高,CPU在等I/O,當(dāng)然這并不意味著就是在等磁盤。

r/s ,w/s 便是沒(méi)秒完成的讀和寫,await表示請(qǐng)求等待的平均時(shí)間(毫秒),%util表示此設(shè)備出來(lái)I/O請(qǐng)求用的CPU百分比。

2.mount命令查看掛載的磁盤

3. 如果找不到可以用ls -la /dev/dm-1

find -L /dev -samefile/dev/dm-1尋找所有鏈接到 .dev.dm-1的鏈接。

4.lvdisplay顯示邏輯卷,用pvdisplay查看邏輯卷背后的物理卷。

5. 查找處于Uninterruptible sleep的進(jìn)程,因?yàn)槠淇赡苷加煤芏郔/O。ps -elf | grep " D "。再次用ps -elf --forest獲得用戶啟動(dòng)的處于D狀態(tài)的進(jìn)程的詳細(xì)信息。

6. 查看相關(guān)進(jìn)程機(jī)器父進(jìn)程使用了多少I/O,cat /proc/PROCESS_ID/io

7.ps -elf | grep PROCESS_NAME查看進(jìn)程id是否變化,查看此進(jìn)程是否是一個(gè)存活時(shí)間很短的進(jìn)程。

8. 用iotop來(lái)查看那些進(jìn)程使用I/O最多。

Network:

ifstat跟vmstat和iostat一樣,都需要從第二個(gè)輸出看。

歷史統(tǒng)計(jì)數(shù)據(jù)比較

/etc/cron.d/sysstat設(shè)置了sysstat定時(shí)運(yùn)行的計(jì)劃,/etc/sysstat/sysstat中可以查看到日志文件保存的目錄。/var/log/sa/和/var/log/sysstat/分別是RHEL7和Ubuntu 16.04的默認(rèn)log存放路徑。

sar也可以查看iostat, top 以及vmstat查看到的信息。

CPU:

sar -u,查看某一天(7日)的用sar -f /var/log/sysstat/sa07 -u。

Memory:

sar -r

Disk:

sar -d -p

Network:

sar -n DEV


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容