[转帖]常用的 Stress / Performance 工具

常用,stress,performance,工具 · 浏览次数 : 0

小编点评

**行程 1:bw_unix 檔案讀取** ```bash # 產生檔案 touch bw_unix.txt # 讀取檔案 cat /path/to/bw_unix.txt > bw_unix_data.txt # 計算檔案大小 file_size=$(wc -c bw_unix.txt) # 列印檔案大小 echo "檔案大小:$file_size bytes" ``` **行程 2:bw_mem 檔案讀取** ```bash # 產生檔案 touch bw_mem.txt # 讀取檔案 cat /path/to/bw_mem.txt > bw_mem_data.txt # 計算檔案大小 file_size=$(wc -c bw_mem.txt) # 列印檔案大小 echo "檔案大小:$file_size bytes" ``` **測試速度:bw_unix 和 bw_mem** ```bash # 使用 pipe 連接兩個檔案讀取器 cat bw_unix_data.txt | python -c "print(open('bw_mem_data.txt').read())" # 使用 time 命令計算讀取速度 time -t 1 python -c "import time;print(time.time() - start_time)" ``` **備註:** * 將 `path/to/bw_unix.txt` 和 `path/to/bw_mem.txt` 替換為實際檔案路徑。 * 使用 `python` 執行 `time` 命令以計算讀取時間。 * 可以使用 `iometer` 或 `netperfCloud` 等工具來進行網路效能測試。

正文

https://benjr.tw/532

 

 

雖然自己是從事 QA(Quality Assurance) 相關測試工作,但對於這些工具的使用還是有很多問號,下面列出 Linux 下我常用的 壓力(Stress) 與 的效能 (Performance) 測試軟體.

壓力測試 (Stress)

要如何在 Linux 下針對不同的 I/O 與系統做壓力測試,可以參考下面幾種方式.

  • SysBench – https://benjr.tw/8715
    Linux 下常見的壓力測試工具不多,而且通常很分散,要不然就是協力廠商所開發的工具需收費而且所費不貲,不過現在 Linux 下有一套比較完整的壓力測試工具 sysbench ,具有 File I/O, CPU , Memory , Threads , Mutx , OLTP 等測試.
  • Stressful Application Test (stressapptest) – https://benjr.tw/96740
    Stressful Application Test (stressapptest) 程式可以在 memory 到 processor 與 I/O 之間產生大量的隨機流量,主要用於模擬系統在高負載情況下的壓力測試,他現在屬於 apache 2.0 license.
  • memtest86+ – https://benjr.tw/491
    在 Linux 的開機光碟中專門用來檢視記憶體模組的工具.
  • Memtester – https://benjr.tw/96460
    前面的 Memtest86+ 無法直接在 Linux 環境下直接來使用,Memtester 可以直接在 Linux 環境下執行.
  • Fio – https://benjr.tw/96736
    Fio 提供兩個參數可共硬碟做壓力測試.
  • Prime95 (MPrime) – https://benjr.tw/99150
    Prime95 是用來做 CPU 壓力測試的,由 GIMPS (Great Internet Mersenne Prime Search)所提供,主要是透過運算找出梅森質數,什麼是 質數(Prime number)指的是除了 1 和自身外,無法被其他自然數整除,何謂梅森質數 是指 2n − 1 ,是質數,就被稱為 梅森質數.
  • Intel State Residency and Manipulation
    CPU 在沒有使用時可以被停用或以比較低的效能模式來運行,依據不同的狀態可以區分成為 Processor Operating States (C-states) 與 Processor Performance States (P-states), 關於 CPU State 請參考 https://benjr.tw/99146 .但是這工具需要有 Intel 帳號.
  • PTU (Power Thermal Utility)
    Intel PTU (Power Thermal Utility) 可以用來測試 CPU 與 Memory 但是這工具需要有 Intel 帳號.

效能可以區分為兩個種類,一種是單體的效能(如 CPU , MEMORY , DISK , IO …),另外一種就是針對整個系統(單一伺服器 server , 單一儲存裝置 Storage 或是機櫃 Rack ),下面大部分使用的方式是透過 軟體+實際設備 的方式來進行效能測試.

除了這種方式外 QA 還會利用不同種類的電子量測設備來進行效能測試,如 Spirent (台灣代理 廣聯科技) ,IXIA (台灣代理 派恩科技), 以及其他的 立肯科技 或是 太克科技,使用電子量測設備的好處是可以比較快速看出系統在設計時有哪些瑕疵存在.外面廠商也有專門幫你做驗證的如 百佳泰.

 

在進行效能 (Performance) 前,還需要了解一下資料頻寬 – https://benjr.tw/20493 的上限值是多少.

單體效能 (Performance)

下面是 Linux 環境下我常用的單體效能測試工具:
CPU

  • CPU Burn-in – https://benjr.tw/8738
    只能針對單核心在做運算,不推薦使用.
  • Geekbench – https://benjr.tw/94201
    針對 整數 (Integer performance) ,浮點數 (Floating point performance) 與 記憶體 (Memory performance)的運算(主要涵蓋了 加密,圖像處理,信號處理與物理模擬).
  • Intel Memory Latency Checker – https://benjr.tw/99426
    在 NUMA (Non-uniform memory access) 架構下,如何知道記憶體的存取效能如何,Intel 提供了 Memory Latency Checker 可以做檢查.
  • Lmbench 測試處理器 – https://benjr.tw/98333
    • bw_pipe
      產生兩個 processes (行程) 彼此交換 (pipe) 資料並測試其速度.
    • bw_unix
      產生了 parent (reader) , child (writer) processes彼 此交換 (pipe) 資料並測試其速度.

Memory
Lmbech 測試記憶體效能 – https://benjr.tw/98285

  • bw_file_rd
    檔案 (硬碟) 到 memory 之間產生 mapping 並測試其讀取速度.
  • bw_mem
    主要在測試 processor 與 memory 之間的傳輸速度.
  • bw_mmap_rd
    從檔案 (硬碟) 到 memory 測試其讀取速度.

Lmbech 測試記憶體延遲 – https://benjr.tw/98338

  • lat_pagefault
    The time it takes to fault in a page from a file.
  • lat_mem_rd
    主要在測試 processor 與 memory 的讀取延遲 (latency).
  • lat_mmap
    這邊主要在測試 memory 到 檔案 (硬碟) 之間的延遲 (latency).

LMbench stream – https://benjr.tw/98356
John McCalpin’s stream benchmark

Disk
以前用過 dd , hdparm 或是 Iometer 來測試 Disk I/O 的是速度,但 dd, hdparm 太過簡單,Iometer 太過老舊 ,目前比較多人使用的是 Fio 這一支測試工具.

Network

  • Iometer –https://benjr.tw/94270
    利用 IOMeter 來測試網路效能,使用方式基本上跟 IOmeter 測試 Disk 一樣.
  • iperf – https://benjr.tw/462
    免費最簡單的網路效能測試工具.
  • qperf – https://benjr.tw/486
    RHEL6 預設的網路效能測試工具.
  • IxChariot –https://benjr.tw/470
    專業級的網路效能測試工具, IXIA 系列的產品 IxAutomate , IxExplorer , IxLoad.
  • Pktgenhttps://benjr.tw/93300
    Packet-Generation 它是一個 Linux 核心的模組,它可以以非常快的速度產生封包.
  • Smartbits – https://benjr.tw/638 , TestCenter – https://benjr.tw/633
    Smartbits (1G) / TestCenter (10G , 25G , 40G , 100G )是一套專門用來檢視網路設備的硬體檢測裝置,是由 SPIRENT 這一家公司所提供主要可以用來檢視網卡或是 switch 等網路裝置.
  • nttcp – https://benjr.tw/23686
    透過 nttcp 可以針對網路的 TCP, UDP 以及 UDP multicast connection 來進行效能檢視.
  • NTttcp – https://benjr.tw/94564
    Microsoft Azure 以及 Amazon 建議使用的網路效能測試工具 NTttcp ,同時提供 Linux 與 Windows 版本.

如果透過這些工具測試出來,發現效能不好該怎麼辦,這時候可以參考 Network 效能測試與調整 – https://benjr.tw/93408

系統效能 (Performance)

Web Server
在架站之後,想要了解一下你的 http service (Apache) 的效能,這時候可以使用 web server 相關的效能測試程式.

  • ab (ApacheBench) – https://benjr.tw/94140
    Apache 內建的效能測試程式 – ab (Apache HTTP Server Benchmarking Tool)

加解密演算法

  • openssl speed – https://benjr.tw/94131
    透過 SSL 的加解密演算法來看你系統的效能 (CPU 與 memory 效能測試)

資料庫的效能評比

  • Sysbench oltp – https://benjr.tw/95251
    SysBench 裡面有一個測試項目就是針對資料庫的 oltp (Online transaction processing,線上交易處理) .
  • Sysbech + MariaDB Galera Cluster + HAProxy – https://benjr.tw/95724
    利用 MariaDB Galera Cluster , HAProxy 的架構來進行 Sysbech OLTP 測試.

雲端效能評比

  • TBD

其他待評估

  • GPU – nvqual , gpu_burn , Basemark GPU 支援 Android, Windows 以及 Linux 版本,下載點 – https://www.basemark.com/products/basemark-gpu/
  • Benchmark – Phoronix Test Suite + OpenBenchmarking , Intel® BITT , Bonnie++ , BurnInTest , stress-ng , SPECjbb benchmark , Google perfkit benchmarker
  • InfiniBand – ib_read_bw(read bandwidth) , ib_write_bw(write bandwidth)
  • Filesystem Benchmark – Iozone , VDBench , diskspd(Windows) , ATTO Disk Benchmark
  • CPU – LinPack Benchmark , SPEC CPU2006
  • Network – httperf , weighttp , httpress , siege , netperf
  • Cloud – COSBench
  • Other – SPEC power_ssj2008 ,java performance testing tools , TPC Benchmark™ E (TPC-E) , The TPC Benchmark™H (TPC-H) , SPECjEnterprise2010 , IBM – Rational Performance Tester , HP – Loadrunner , Finisar Medusa Test Tool , Apache JMeter
 
沒有解決問題,試試搜尋本站其他內容

与[转帖]常用的 Stress / Performance 工具相似的内容:

[转帖]常用的 Stress / Performance 工具

https://benjr.tw/532 雖然自己是從事 QA(Quality Assurance) 相關測試工作,但對於這些工具的使用還是有很多問號,下面列出 Linux 下我常用的 壓力(Stress) 與 的效能 (Performance) 測試軟體. 壓力測試 (Stress) 要如何在 L

[转帖]系统性能测试工具

https://cloud.tencent.com/developer/article/2129549 0x01 处理器性能测试 stress 命令 - 系统压力基础测试(拷机) 描述:Stress/Stress-NG是Linux下两个常用的系统级压力测试工具,stress命令简单易用stress-

【转帖】71.常用的显示GC日志的参数、GC日志分析、日志分析工具的使用

目录 1.常用的显示GC日志的参数2.图解垃圾`GC`日志(重要)3.日志分析工具的使用 1.常用的显示GC日志的参数 解释: 日志中,GC和Full GC表示的是GC的类型。GC只在新生代进行,Full GC包括新生代和老年代、方法区。 Allocation Failure:GC发生的原因,一般新

[转帖]MYSQL常用的Show命令笔记

http://t.zoukankan.com/lovekingly-p-4387765.html 1、查询数据库 SHOW DATABASES; 2、查询数据库中表 SHOW TABLES; SHOW TABLES FROM db; 3、查询表索引 SHOW INDEX FROM table 4、查

[转帖]linux常用的内核参数的设置

https://cloud.tencent.com/developer/article/1071005?from=article.detail.1956187&areaSource=106000.17&traceId=lr3VPq-YZBl2ynblhnK3h .共享内存大小的设置 临时设置: 通过

[转帖]自己常用的一些shell脚本分享

https://www.jb51.net/article/54488.htm 这篇文章主要介绍了自己常用的一些shell脚本分享,包含20多个脚本实例,需要的朋友可以参考下 自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会

[转帖]整理常用的 vim 命令

vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学者来说,看到这么多的命令容易打退堂鼓,想当初,自己刚接触vim的时候,由于不熟悉vim,每一个命令都

[转帖]Linux常用的一些命令,看你知道多少?

https://zhuanlan.zhihu.com/p/115279009 Linux中命令有很多,而Linux系统中使用命令也是它的一大特点。在Linux系统中使用命令处理问题灵活,高效,所以熟知这些命令可以提高你的工作效率,帮助你快速处理问题。 本文列出了一些在Linux系统中经常使用的命令,

[转帖]国内常用镜像加速源分享

国内常用镜像加速源分享 我们经常在下载一些 Python 或 Java等包的时候总是会访问国外的资源站,但是墙内访问国外的网络一般都比较卡。这里作者搜集了一些常用的国内镜像源,涵盖一些互联网大厂和知名高校的repo, 用得上的可以收藏备用哦~ Python相关镜像 (1) pip使用说明 对于Pyt

[转帖]Shell中常用的date时间命令

常用FORMAT %Y YYYY格式的年份(Year) %m mm格式的月份(),01-12 %d dd格式的日期(day of month),01-31 %H HH格式的小时数(),00-23 %M MM格式的分钟数(),00-59 %S SS格式的秒数(),00-59 %F YYYY-mm-dd