搜尋
首頁電腦教學電腦知識Linux系統這些壓測工具,你有用過嗎?

Linux系統這些壓測工具,你有用過嗎?

Mar 21, 2024 pm 04:12 PM
工具場景壓測並發訪問記憶體佔用

Linux系統這些壓測工具,你有用過嗎?

#

身為維運人員,你是否遇過這種場景?需要用工具測試系統cpu或記憶體佔用高來觸發告警,或透過壓測測試服務的同時能力。身為維運工程師,也可以透過這些指令復現故障場景。那麼透過本文可以讓你掌握常用的測試指令和工具。

一、前言

#在某些情況下,為了定位和復現專案中的問題,必須使用工具進行系統性壓力測試,以模擬和還原故障場景。這時測試或壓測工具就變得特別重要。接下來,我們將根據不同的場景來探討這些工具的使用。

二、測試工具

#2.1 網路限速工具tc

tc是Linux中用於調整網路參數的命令列工具,可用於模擬各種網路條件,包括限製網路頻寬和延遲等。主要應用場景是在測試過程中,模擬真實世界中可能出現的網路環境,以評估系統在這些條件下的表現。網路限速工具通常用於模擬不同網路速度和穩定性,以便開發人員能夠更好地了解其應用程式在各種網路環境下的行為。透過調整tc指令的參數,可以模擬出低頻寬、高延遲、丟包等情況,從而幫助開發人員優化其應用程序,確保其在各種網路條件

用法範例

# 設定延時30ms
sudo tc qdisc add dev eth0 root netem delay 30ms

# 範圍內延遲(10-50ms)
sudo tc qdisc add dev eth0 root netem delay 30ms 20ms

#設定丟包10%
sudo tc qdisc add dev eth0 root netem loss 10%

#刪除丟包設定
sudo tc qdisc del dev eth0 root netem loss 10%

# 顯示延時的設定 :
sudo tc qdisc show
sudo tc qdisc show dev eth0

# 修改延遲:
sudo tc qdisc change dev eth0 root netem delay 40ms

#隨機產生1%的重複資料包
sudo tc qdisc add dev eth0 root netem duplicate 1%

#設定封包亂序
sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

# 刪除延遲
sudo tc qdisc del dev eth0 root netem delay 40ms

實測效果,我們設定主機丟包延遲40ms,修改前延遲如下

設定延遲40ms

[root@knode1 ~]# sudo tc qdisc add dev ens33 root netem delay 40ms
[root@knode1 ~]# sudo tc qdisc show dev ens33
qdisc netem 8002: root refcnt 2 limit 1000 delay 40.0ms

再ping測試,效果還是很明顯的,確實很好用,更多用法,小夥伴們自己去研究吧

2.2 CPU 記憶體測試工具 – stress

#stress 是一個 Linux 下的壓力測試工具,可以模擬 CPU 和記憶體的高負載情況,用於測試系統的穩定性。

CPU/記憶體/磁碟測試工具通常用於評估系統在高負載條件下的穩定性,偵測系統的效能極限。此外,在進行警告測試時,使用stress工具可以模擬系統在壓力下的表現,幫助評估系統的可靠性和反應能力。透過這些工具,可以更全面地了解系統在不同負載情況下的表現,以便在必要時採取相應的最佳化措施,確保系統在實際運作中能夠穩定可靠。

工具安裝

sudo apt-get install stress #ubuntu系統
yum install stress#Centos系統

然後進行 CPU 和記憶體的測試:

測試 CPU,持續運行 4 個進程

# stress --io 2 --cpu 4 --vm 2 --vm-bytes 80M --timeout 1440m
--cpu N:
產生 N 個工作進程來施加 CPU 負載。

# stress --cpu 8 會建立 8 個進程,每個都嘗試佔用 100% 的 CPU 時間。
--io N:
產生 N 個工作進程來執行 I/O 操作,增加 I/O 負載。

# stress --io 4 會建立 4 個 I/O 生成進程。
--vm N:

# 產生 N 個工作進程來分配記憶體並定期寫入隨機資料。
每個進程預設分配 256MB 記憶體。
--vm-bytes B:

#指定每個 --vm 工作進程所分配的記憶體量。
stress --vm 2 --vm-bytes 128M 會產生 2 個工作進程,每個分配 128MB 記憶體。
--hdd N:

# 產生 N 個工作進程來執行磁碟 I/O 操作。
stress --hdd 2 會建立 2 個磁碟 I/O 產生進程。
--hdd-bytes B:

# 指定每個 --hdd 工作進程寫入磁碟的資料量。
stress --hdd 1 --hdd-bytes 1G 會建立一個工作進程來寫入 1GB 的資料。
--timeout T:

# 指定 stress 運行的時間,T 是時間,可以是秒(預設)、分鐘(加 m)、小時(加 h)。
stress --cpu 4 --timeout 30s 會在 30 秒後停止 CPU 負載測試

# 顯示詳細信息,包括生成的工作進程的狀態。
--verbose:

實驗:壓測4個cpu,持續時間180s

stress --cpu 4 --timeout 180s

測試內存,分配 1GB 內存

stress --vm 2 --vm-bytes 20G --timeout 360s
--vm 2: 表示啟動2個虛擬記憶體壓力工作執行緒。
--vm-bytes 20G: 每個工作執行緒使用的虛擬記憶體大小為20GB。
--timeout 360s: 設定壓力測試持續時間為360秒(6分鐘)

2.3 磁碟測速工具dd

dd 是一個 Linux 下的命令列工具,用於複製檔案並對資料進行轉換。透過它,我們可以測試硬碟的讀寫速度。

使用場景:硬碟測速工具常用於評估磁碟效能,選擇最適合的儲存方案,並偵測磁碟是否有效能瓶頸。

要測試讀取速度和寫入速度,可以使用dd指令的不同參數。例如,要測試讀取速度,可以使用if參數從檔案讀取數據,而要測試寫入速度,可以使用of參數將資料寫入檔案。

測試寫入速度:

dd if=/dev/zero of=/data/test bs=4k count=100k

這會將零資料寫入/data/test檔案中,測試寫入速度

dd if=/data/test of=/dev/null bs=4k

這會從/data/test檔案中讀取資料並將其丟棄,從而測試讀取速度。

附註:也可以使用fio來測磁碟速度

#2.4. 流量存取壓測工具 – ab

ab 是 Apache 自帶的一個小型工具,用於測試 HTTP 伺服器的效能。使用情境:流量存取壓測工具常用於評估 Web 伺服器的效能,偵測系統在同時存取下的表現。

ab工具安裝

sudo apt-get install apache2-utils #ubuntu系統
sudo yum install httpd-tools #Centos系統

測試網站的並發連線數

ab -c 10 -n 100 https://example.com/

這將建立10個並發連接,每個連接執行100個請求。

測試網站的請求速度

ab -n 1000 -c 100 https://example.com/

這將創建100個並發連接,總共執行1000個請求`.這時可以透過監控觀察cpu和內存,用來初步評估平台的並發承載能力。

以上是Linux系統這些壓測工具,你有用過嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:每日运维。如有侵權,請聯絡admin@php.cn刪除
在啟動時接收NVVSVC.EXE運行時錯誤?在這裡看!在啟動時接收NVVSVC.EXE運行時錯誤?在這裡看!Apr 11, 2025 am 12:50 AM

您在啟動時會遇到NVVSVC.EXE運行時錯誤嗎?更糟糕的是,你們中的一些人可能最終會出現黑屏。因此,您迫切需要盡快刪除此錯誤。在PHP.CN網站上的本指南中,我們收集了一些可行的SOL

Windows P的高級提示不適用於WindowsWindows P的高級提示不適用於WindowsApr 11, 2025 am 12:49 AM

如果您有多個顯示器,則必須熟悉Windows P快捷方式。但是,窗口P無法正常工作,可能會偶爾發生。如果您面臨此問題,則PHP.CN的這篇文章確實可以為您提供幫助。

如果Acronis克隆未能從磁盤中讀取數據怎麼辦?如果Acronis克隆未能從磁盤中讀取數據怎麼辦?Apr 11, 2025 am 12:48 AM

Acronis克隆的問題未能從磁盤中讀取數據,通常會在克隆過程中出現。面對這個無聊的問題,您該怎麼辦?嘗試修復它。或者,您可以運行Acronis True Image的替代方案 - php.cn軟件

文件上傳未實現 - 以下是4種方法!文件上傳未實現 - 以下是4種方法!Apr 11, 2025 am 12:47 AM

當您嘗試從文件夾訪問Word文檔時,您可能會收到一個錯誤,該錯誤在單擊它後才說“未實現”。來自PHP.CN的這篇文章介紹瞭如何修復“未實現的文件上傳”問題。

Windows中的AI:Windows中的AI驅動功能Windows中的AI:Windows中的AI驅動功能Apr 11, 2025 am 12:46 AM

微軟已經在AI上投入了大量的人力和財政資源,並取得了出色的成果。在這篇文章中,PHP.CN將在Windows中談論AI,包括Windows 11和Windows 10中的AI工具和功能。

如何使用Windows 10 0x80070643錯誤的PowerShell腳本錯誤?如何使用Windows 10 0x80070643錯誤的PowerShell腳本錯誤?Apr 11, 2025 am 12:45 AM

KB5034441無法使用錯誤代碼0x80070643安裝?來自Microsoft的Windows 10 0x80070643的PowerShell腳本有助於自動更新Winre分區以修復Bitlocker安全功能旁路漏洞。 php.cn向你指導你

在哪裡可以找到矛盾:操作galuga在PC上保存文件位置在哪裡可以找到矛盾:操作galuga在PC上保存文件位置Apr 11, 2025 am 12:44 AM

Contra:Galuga行動是由Konami出版的新發行的射手視頻遊戲。在這裡,PHP.CN軟件上的這篇文章重點關注Contra:操作Galuga保存文件位置,並說明如何備份Contra:操作Galuga保存文件。

無法在Microsoft Word中突出顯示文字嗎?在這裡經過驗證的方式無法在Microsoft Word中突出顯示文字嗎?在這裡經過驗證的方式Apr 11, 2025 am 12:43 AM

Microsoft Word為我們所有人提供了許多有用的功能,包括突出顯示文本。但是,有些人最近遇到了一個問題,即他們無法用Microsoft Word強調文本。這個問題給他們帶來了不便。如果你是其中之一

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器