目錄
#2.1 網路限速工具tc
2.2 CPU 記憶體測試工具 – stress
2.3 磁碟測速工具dd
#2.4. 流量存取壓測工具 – ab
首頁 電腦教學 電腦知識 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

熱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.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

debian readdir如何與其他工具集成 debian readdir如何與其他工具集成 Apr 13, 2025 am 09:42 AM

Debian系統中的readdir函數是用於讀取目錄內容的系統調用,常用於C語言編程。本文將介紹如何將readdir與其他工具集成,以增強其功能。方法一:C語言程序與管道結合首先,編寫一個C程序調用readdir函數並輸出結果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

Debian如何提升Hadoop數據處理速度 Debian如何提升Hadoop數據處理速度 Apr 13, 2025 am 11:54 AM

本文探討如何在Debian系統上提升Hadoop數據處理效率。優化策略涵蓋硬件升級、操作系統參數調整、Hadoop配置修改以及高效算法和工具的運用。一、硬件資源強化確保所有節點硬件配置一致,尤其關注CPU、內存和網絡設備性能。選擇高性能硬件組件對於提升整體處理速度至關重要。二、操作系統調優文件描述符和網絡連接數:修改/etc/security/limits.conf文件,增加系統允許同時打開的文件描述符和網絡連接數上限。 JVM參數調整:在hadoop-env.sh文件中調整

如何優化debian readdir的性能 如何優化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系統中,readdir系統調用用於讀取目錄內容。如果其性能表現不佳,可嘗試以下優化策略:精簡目錄文件數量:盡可能將大型目錄拆分成多個小型目錄,降低每次readdir調用處理的項目數量。啟用目錄內容緩存:構建緩存機制,定期或在目錄內容變更時更新緩存,減少對readdir的頻繁調用。內存緩存(如Memcached或Redis)或本地緩存(如文件或數據庫)均可考慮。採用高效數據結構:如果自行實現目錄遍歷,選擇更高效的數據結構(例如哈希表而非線性搜索)存儲和訪問目錄信

Debian郵件服務器SSL證書安裝方法 Debian郵件服務器SSL證書安裝方法 Apr 13, 2025 am 11:39 AM

在Debian郵件服務器上安裝SSL證書的步驟如下:1.安裝OpenSSL工具包首先,確保你的系統上已經安裝了OpenSSL工具包。如果沒有安裝,可以使用以下命令進行安裝:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私鑰和證書請求接下來,使用OpenSSL生成一個2048位的RSA私鑰和一個證書請求(CSR):openss

如何利用Nginx日誌提升網站速度 如何利用Nginx日誌提升網站速度 Apr 13, 2025 am 09:09 AM

網站性能優化離不開對訪問日誌的深入分析。 Nginx日誌記錄了用戶訪問網站的詳細信息,巧妙利用這些數據,可以有效提升網站速度。本文將介紹幾種基於Nginx日誌的網站性能優化方法。一、用戶行為分析與優化通過分析Nginx日誌,我們可以深入了解用戶行為,並據此進行針對性優化:高頻訪問IP識別:找出訪問頻率最高的IP地址,針對這些IP地址優化服務器資源配置,例如增加帶寬或提升特定內容的響應速度。狀態碼分析:分析不同HTTP狀態碼(例如404錯誤)出現的頻率,找出網站導航或內容管理中的問題,並進

如何在Debian上升級Zookeeper版本 如何在Debian上升級Zookeeper版本 Apr 13, 2025 am 10:42 AM

在Debian系統上升級Zookeeper版本,可以按照以下步驟進行:1.備份現有配置和數據在進行任何升級之前,強烈建議備份現有的Zookeeper配置文件和數據目錄。 sudocp-r/var/lib/zookeeper/var/lib/zookeeper_backupsudocp/etc/zookeeper/conf/zoo.cfg/etc/zookeeper/conf/z

Debian OpenSSL如何防止中間人攻擊 Debian OpenSSL如何防止中間人攻擊 Apr 13, 2025 am 10:30 AM

在Debian系統中,OpenSSL是一個重要的庫,用於加密、解密和證書管理。為了防止中間人攻擊(MITM),可以採取以下措施:使用HTTPS:確保所有網絡請求使用HTTPS協議,而不是HTTP。 HTTPS使用TLS(傳輸層安全協議)加密通信數據,確保數據在傳輸過程中不會被竊取或篡改。驗證服務器證書:在客戶端手動驗證服務器證書,確保其可信。可以通過URLSession的委託方法來手動驗證服務器

Debian Hadoop日誌管理怎麼做 Debian Hadoop日誌管理怎麼做 Apr 13, 2025 am 10:45 AM

在Debian上管理Hadoop日誌,可以遵循以下步驟和最佳實踐:日誌聚合啟用日誌聚合:在yarn-site.xml文件中設置yarn.log-aggregation-enable為true,以啟用日誌聚合功能。配置日誌保留策略:設置yarn.log-aggregation.retain-seconds來定義日誌的保留時間,例如保留172800秒(2天)。指定日誌存儲路徑:通過yarn.n

See all articles