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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

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

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

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

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

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

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