您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么實現Linux系統性能測試和監控,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
性能測試([Unixbench])
[root@localhost] $ ./Run
查看當前CPU負載(uptime)
[root@localhost] $ uptime
測試單cpu計算能力(bc)
[root@localhost] $ time echo "scale=5000;4*a(1)" | bc -l -q
進程對內存的占用情況(pmap)
[root@localhost] $ pmap -d 35713
查看進程35713占用內存的情況
磁盤IO測試(dd)
測試磁盤的IO寫速度
time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct
測試磁盤的IO讀速度
dd if=test.dbf bs=8k count=300000 of=/dev/null
表示每次寫入/讀取8k的數據,執行300000次
實時查看各磁盤的io(iostat)
[root@localhost] $ yum install sysstat [root@localhost] $ iostat -x 1 100
對磁盤iops的測試(fio)
安裝fio
[root@localhost] $ yum install fio
ioengine: 負載引擎,我們一般使用libaio,發起異步IO請求。
bs: IO大小
direct: 直寫,繞過操作系統Cache。因為我們測試的是硬盤,而不是操作系統的Cache,所以設置為1。
rw: 讀寫模式,有順序寫write、順序讀read、隨機寫randwrite、隨機讀randread等。
size: 尋址空間,IO會落在 [0, size)這個區間的硬盤空間上。這是一個可以影響IOPS的參數。一般設置為硬盤的大小。
filename: 測試對象
iodepth: 隊列深度,只有使用libaio時才有意義。這是一個可以影響IOPS的參數。
runtime: 測試時長
4K隨機寫測試
[root@localhost] $ fio -ioengine=libaio -bs=4k -direct=1 -thread -rw=randwrite -size=100G -filename=/dev/vdb -name="EBS 4KB randwrite test" -iodepth=32 -runtime=60
4K隨機讀測試
[root@localhost] $ fio -ioengine=libaio -bs=4k -direct=1 -thread -rw=randread -size=100G -filename=/dev/vdb -name="EBS 4KB randread test" -iodepth=8 -runtime=60
512KB順序寫測試
[root@localhost] $ fio -ioengine=libaio -bs=512k -direct=1 -thread -rw=write -size=100G -filename=/dev/vdb -name="EBS 512KB seqwrite test" -iodepth=64 -runtime=60
進程對磁盤的讀寫情況(iotop)
安裝iotop
[root@localhost] $ yum install iotop
運行iotop查看進程對磁盤的讀寫
[root@localhost] $ iotop #查看全部進程的磁盤讀寫情況 [root@localhost] $ iotop -o #實時查看當前進程對磁盤的讀寫(推薦) [root@localhost] $ iotop -p 34323 #查看進程號為34323對磁盤的讀寫情況
監控告警可以使用如下命令獲取io的數據
[root@localhost] $ iotop -botqqq --iter=3
網絡測試(iperf)
啟動服務端
[root@localhost] $ yum install iperf3 -y [root@localhost] $ iperf3 -s
客戶端進行測試
[root@localhost] $ yum install iperf3 -y [root@localhost] $ iperf3 -c 10.2.2.2 -P 5
以上默認為作TCP測試,如果要UDP測試,服務端啟動與客戶端測試都需要加上-u
## 服務端 iperf3 -s -u 123 ## 客戶端 ```clike iperf3 -c 10.2.2.2 -P 5 -u
網絡測試(qperf)
啟動服務端
[root@localhost] $ yum install qperf -y [root@localhost] $ qperf
客戶端進行測試網絡延時
[root@localhost] $ yum install qperf -y [root@localhost] $ qperf 10.2.2.2 -t 100 -oo msg_size:8:256K:*2 tcp_bw
客戶端進行測試網絡帶寬
[root@localhost] $ yum install qperf -y [root@localhost] $ qperf 10.2.2.2 -t 100 -oo msg_size:8:256K:*2 tcp_bw
延時與帶寬可以一起測試
[root@localhost] $ qperf 10.2.2.2 -t 100 -oo msg_size:8:256K:*2 tcp_bw tcp_lat
網卡流量監測(nload)
安裝nload
[root@localhost] $ yum install nload
監測網卡流量輸入及輸出
[root@localhost] $ nload eth0 eth2
DNS服務壓測工具(queryperf)
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 后面接上一個文件,文件的內容是用戶對DNS的請求,一行為一條請求,所以為了測試,我們可以在里面寫上幾千幾萬條。
-s: DNS服務器地址
-p: DNS服務器端口
-q: 請求多少次
使用vim命令先創建一個請求文件:vim querytest.txt
www.example.com A example.com NS tftp.example.com CNAME blog.example.com A .... # 600萬行
執行測試命令
[root@localhost] $ queryperf -d querytest.txt -s 192.168.0.6
以上就是怎么實現Linux系統性能測試和監控,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。