常用的 Stress / Performance 测试工具(Linux环境)

2023-05-16

压力测试(Stress)

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

  • SysBench – http://benjr.tw/8715
    Linux 下常見的壓力測試工具不多,而且通常很分散,要不然就是協力廠商所開發的工具需收費而且所費不貲,不過現在 Linux 下有一套比較完整的壓力測試工具 sysbench ,具有 File I/O, CPU , Memory , Threads , Mutx , OLTP 等測試.
  • Stressful Application Test (stressapptest) – http://benjr.tw/96740
    Stressful Application Test (stressapptest) 程式可以在 memory 到 processor 與 I/O 之間產生大量的隨機流量,主要用於模擬系統在高負載情況下的壓力測試,他現在屬於 apache 2.0 license.
  • memtest86+ – http://benjr.tw/491
    在 Linux 的開機光碟中專門用來檢視記憶體模組的工具.
  • Memtester – http://benjr.tw/96460
    前面的 Memtest86+ 無法直接在 Linux 環境下直接來使用,Memtester 可以直接在 Linux 環境下執行.
  • Fio – http://benjr.tw/96736
    Fio 提供兩個參數可共硬碟做壓力測試.
  • Prime95 (MPrime) – http://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 請參考 http://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)

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

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

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

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

Lmbech 測試記憶體延遲 – http://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 – http://benjr.tw/98356
John McCalpin’s stream benchmark

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

  • iometer Quick start – http://benjr.tw/435
  • iometer – http://benjr.tw/370
  • hdparm – http://benjr.tw/450
  • dd – http://benjr.tw/458
  • lmdd – http://benjr.tw/98399
  • Fio (Flexible I/O Tester) – http://benjr.tw/269

Network

  • Iometer –http://benjr.tw/94270
    利用 IOMeter 來測試網路效能,使用方式基本上跟 IOmeter 測試 Disk 一樣.
  • iperf – http://benjr.tw/462
    免費最簡單的網路效能測試工具.
  • qperf – http://benjr.tw/486
    RHEL6 預設的網路效能測試工具.
  • IxChariot –http://benjr.tw/470
    專業級的網路效能測試工具, IXIA 系列的產品 IxAutomate , IxExplorer , IxLoad.
  • Pktgenhttp://benjr.tw/93300
    Packet-Generation 它是一個 Linux 核心的模組,它可以以非常快的速度產生封包.
  • Smartbits – http://benjr.tw/638
  • TestCenter – http://benjr.tw/633
    Smartbits (1G) / TestCenter (10G)是一套專門用來檢視網路設備的硬體檢測裝置,是由 SPIRENT 這一家公司所提供主要可以用來檢視網卡或是 switch 等網路裝置.

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

系統效能 (Performance)

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

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

加解密演算法

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

資料庫的效能評比

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

雲端效能評比

  • TBD

其他待評估

  • GPU – nvqual , gpu_burn
  • 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
  • Memory –
  • Network – httperf , weighttp , httpress , siege , nttcp , 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

转载地址:

http://benjr.tw/532
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用的 Stress / Performance 测试工具(Linux环境) 的相关文章

  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 如何使用waf构建共享库?

    我想使用构建一个共享库waf http code google com p waf 因为它看起来比 GNU 自动工具更容易 更简洁 到目前为止 我实际上有几个与我开始编写的 wscript 有关的问题 VERSION 0 0 1 APPNA
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 1.2.840.113556.1.4.1941 (LDAP_MATCHING_RULE_IN_CHAIN) 存在性能问题?

    LDAP 搜索有一些内置规则 其中之一是LDAP MATCHING RULE IN CHAIN From MSDN https msdn microsoft com en us library aa746475 v vs 85 aspx 1
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • Matlab关联m文件与m文件关联设置

    MATLAB安装后经常出现m文件不能关联到matlab打开 xff0c 很烦恼 网上有一些设置教程 xff0c 比如 xff1a 链接一 按照链接方式一方式二设置后出现报错 修改注册表亦没用 下面链接 链接二 链接三 链接四 都没有效果 代
  • 图像处理形态学椭圆形模板结构元素的设计与实现

    在图像处理中 xff0c 经常要用到形态学操作 xff0c 形态学操作中的结构元素有很多 xff0c 如点结构 十字架结构 圆结构 矩形结构 椭圆形结构等等 本文将介绍椭圆形结构的实现 主要结合OpenCV实现 具体如下 xff1a inc
  • 3维空间旋转3维空间矩阵旋转及旋转变换

    本文将实现三维空间中的旋转和平移变换 xff0c 即将三维空间中的一个向量 或者一个空间图形 移动到另一个位置 如下图所示 xff1a 如上图所示 xff0c 由矢量一移动到矢量二 三维空间中的移动可以分为旋转和平移 设矢量一在坐标位置 X
  • 回归方程推导

  • Mac终端代理设置

    title Mac终端代理设置 tags mac 终端设置代理 打开终端执行 export http proxy 61 http 127 0 0 1 1087 export https proxy 61 http 127 0 0 1 108
  • Unity3D游戏作品大盘点

    原文链接 xff1a http www unitymanual com 404 html 经典重现 新仙剑OL 新仙剑OL 采用跨平台Unity3D引擎 xff0c 耗资数千万 xff0c 历时三年多 xff0c 由台湾大宇正版授权 xff
  • IAR编译器的ICF链接脚本

    测试代码如下 xff1a task c span class token macro property span class token directive keyword pragma span default variable attr
  • 2020-10-24

    PendSV中断控制器地址 NVIC INT CTRL EQU 0xE000Ed04 触发PendSV NVIC PENDSV SET EQU 0x10000000 PendSV优先级控制地址 NVIC SYSPRI2 EQU 0xE000
  • Linux下如何配置Vlan

    VLAN是虚拟局域网的缩写 一个物理交换机上可以共存多个VLAN xff0c 这些交换机通过Linux软件配置 xff0c 而不是通过硬件接口 xff08 您仍然需要配置实际的硬件交换机 xff09 VLAN作为名称建议一次组合多个LAN
  • 附加项-linux下ssh的config文件讲解-闫刚

    在 ssh 下创建 config文件 xff0c 可以添加多个账号 xff0c 减少认证的问题 并以如下格式编辑配置文件 vi config HostName xff1a 是目标主机的主机名 xff0c 也就是平时我们使用ssh后面跟的地址
  • 第一章 第九节 如何Doxygen为代码生成html文档-闫刚

    Doxygen是一款文档生成工具 xff0c 它可以从代码中提取出相应的文档 xff0c 并组织 xff0c 输出成各种漂亮的文档 xff08 如HTML xff0c PDF xff0c RTF等 xff09 doxygen让你变成一位有品
  • 第二章 第二节 px4的uORB工作原理分析 闫刚

    px4中的uorb是px4非常核心的数据通信机制 xff0c 所有线程的通信都是靠uorb完成 xff0c 用过的人可能 xff0c 仅仅知道在想要获取orb数据的时候 xff0c 先进行订阅 xff0c 在发送orb消息之前 xff0c
  • 闫刚 qgroundcontrol地面站通信流代码架构

    qgroundcontrol开发者文档中说明了qgc中的各个链路流向在文档中说明的很清楚 xff0c 下面配套源代码进行讲解整个qgc地面站的数据流向过程 qgroundcontrol通信 在 https dev qgroundcontro
  • 闫刚 linux平台实现IMU的DriverFramework

    文章目录 介绍资源用户态spi包1 spidev的设备节点spidev0 3表示spi0的chip select3 内核态设备树注册spidev设备 介绍 讲解linux的spi驱动架构 包括用户空间和内核空间如何配合使用spi驱动 通过p
  • 闫刚 stm32的usb的hal软件架构原理讲解

    资源 stm32 usb cubemx md 闫刚 stm32的usb的hal软件架构原理讲解 一 usb基础 stm32的usb也是很多公司都在使用的接口 xff0c usb全速可以达到12M s 作为虚拟串口接口 xff0c 还是不错的
  • 闫刚 px4架构的cmake移植到linux上

    文章目录 px4架构的cmake移植到linux上仓库地址 xff1a 图一 PX4的源码cmake架构图二 px4添加一个驱动模块的CMakeLists txt文件图三 openSTM的源码架构图四 openSTM中添加子模块CMakeL
  • 闫刚 nuttx workqueue实现原理

    文章目录 资源工作队列实现添加工作对象工作队列执行进程 使用注意 资源 nuttx wqueue md 工作队列实现 优点 xff1a 最短时间调度 缺点 xff1a 工作队列执行完后 xff0c 需要重新创建 添加工作对象 span cl
  • 闫刚 px4的gps驱动原理

    文章目录 资源1 rcS启动2 gps status内容 资源 px4 gps md 标题 xff1a 闫刚 px4的gps驱动原理 1 rcS启动 固件版本 xff1a V1 8 0 gps start 2 gps status内容 IN
  • 闫刚 px4_uavcan_dsdl的原理

    文章目录 资源简介1 cannode构建分析1 1 找到uavcan的单板1 2 分析一下UAVCAN下的CAMKE1 3 1 查看dsdl下的文件1 3 2 查看输出路径下的include dsdlc generated 2 我们添加自己
  • 常用的 Stress / Performance 测试工具(Linux环境)

    压力测试 Stress 要如何在 Linux 下針對不同的 I O 與系統做壓力測試 可以參考下面幾種方式 SysBench http benjr tw 8715 Linux 下常見的壓力測試工具不多 而且通常很分散 要不然就是協力廠商所開