溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么實現(xiàn)Linux系統(tǒng)性能測試和監(jiān)控

發(fā)布時間:2022-01-26 17:25:19 來源:億速云 閱讀:146 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)怎么實現(xiàn)Linux系統(tǒng)性能測試和監(jiān)控,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

性能測試([Unixbench])

 [root@localhost] $ ./Run

計算

查看當(dāng)前CPU負(fù)載(uptime)

 [root@localhost] $ uptime

測試單cpu計算能力(bc)

 [root@localhost] $ time echo "scale=5000;4*a(1)" | bc -l -q

進程對內(nèi)存的占用情況(pmap)

 [root@localhost] $ pmap -d 35713

查看進程35713占用內(nèi)存的情況

磁盤

磁盤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的數(shù)據(jù),執(zhí)行300000次

實時查看各磁盤的io(iostat)

 [root@localhost] $ yum install sysstat
 [root@localhost] $ iostat -x 1 100

對磁盤iops的測試(fio)

安裝fio

 [root@localhost] $ yum install fio

ioengine: 負(fù)載引擎,我們一般使用libaio,發(fā)起異步IO請求。

bs: IO大小

direct: 直寫,繞過操作系統(tǒng)Cache。因為我們測試的是硬盤,而不是操作系統(tǒng)的Cache,所以設(shè)置為1。

rw: 讀寫模式,有順序?qū)憌rite、順序讀read、隨機寫randwrite、隨機讀randread等。

size: 尋址空間,IO會落在 [0, size)這個區(qū)間的硬盤空間上。這是一個可以影響IOPS的參數(shù)。一般設(shè)置為硬盤的大小。

filename: 測試對象

iodepth: 隊列深度,只有使用libaio時才有意義。這是一個可以影響IOPS的參數(shù)。

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順序?qū)憸y試

 [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   #實時查看當(dāng)前進程對磁盤的讀寫(推薦)
 [root@localhost] $ iotop -p 34323   #查看進程號為34323對磁盤的讀寫情況

監(jiān)控告警可以使用如下命令獲取io的數(shù)據(jù)

 [root@localhost] $ iotop -botqqq --iter=3

網(wǎng)絡(luò)

網(wǎng)絡(luò)測試(iperf)

啟動服務(wù)端

 [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

以上默認(rèn)為作TCP測試,如果要UDP測試,服務(wù)端啟動與客戶端測試都需要加上-u

  ## 服務(wù)端
 
 iperf3 -s -u
 123
 ## 客戶端
 ```clike
 iperf3 -c 10.2.2.2 -P 5 -u

網(wǎng)絡(luò)測試(qperf)

啟動服務(wù)端

 [root@localhost] $ yum install qperf -y
 [root@localhost] $ qperf

客戶端進行測試網(wǎng)絡(luò)延時

 [root@localhost] $ yum install qperf -y
 [root@localhost] $ qperf 10.2.2.2 -t 100 -oo msg_size:8:256K:*2 tcp_bw

客戶端進行測試網(wǎng)絡(luò)帶寬

 [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

網(wǎng)卡流量監(jiān)測(nload)

安裝nload

 [root@localhost] $ yum install nload

監(jiān)測網(wǎng)卡流量輸入及輸出

 [root@localhost] $ nload eth0 eth2

DNS服務(wù)壓測工具(queryperf)

 queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]

-d: 后面接上一個文件,文件的內(nèi)容是用戶對DNS的請求,一行為一條請求,所以為了測試,我們可以在里面寫上幾千幾萬條。

-s: DNS服務(wù)器地址

-p: DNS服務(wù)器端口

-q: 請求多少次

使用vim命令先創(chuàng)建一個請求文件:vim querytest.txt

 www.example.com A
 example.com NS
 tftp.example.com CNAME
 blog.example.com A
 ....
 # 600萬行

執(zhí)行測試命令

 [root@localhost] $ queryperf -d querytest.txt -s 192.168.0.6

以上就是怎么實現(xiàn)Linux系統(tǒng)性能測試和監(jiān)控,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI