Linux 查看计算机各个硬件的性能: sysbench (多线程性能测试工具)

安装

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install sysbench

CentOS/RHEL:

sudo yum install epel-release
sudo yum install sysbench

使用

运行 CPU 压力测试:

sysbench cpu --threads=4 run
运行内存压力测试:

sysbench memory --threads=4 run
运行文件IO压力测试:

sysbench fileio --threads=4 --file-total-size=1G prepare
sysbench fileio --threads=4 --file-total-size=1G --file-test-mode=rndrw run
运行数据库压力测试(MySQL):

sysbench oltp_read_write --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=password --mysql-db=test --threads=4 prepare
sysbench oltp_read_write --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=password --mysql-db=test --threads=4 run

编译安装

  1. 首先,确保您的Amazon Linux实例上已经安装了必要的编译工具和依赖项。您可以使用以下命令来安装这些工具:

    sudo yum update
    sudo yum groupinstall "Development Tools"

  2. 下载sysbench的源代码。您可以从sysbench的官方GitHub存储库( https://github.com/akopytov/sysbench )下载最新的源代码。

    git clone https://github.com/akopytov/sysbench.git

  3. 进入sysbench源代码目录。

    cd sysbench

  4. 使用以下命令来生成配置文件和编译源代码:

    ./autogen.sh
    ./configure
    make

  5. 安装sysbench到系统中

    sudo make install

编写一个shell程序将cpu跑满

!/bin/bash

获取系统中可用的 CPU 核心数量

cpu_cores=$(nproc)

设置并发进程数为 CPU 核心数量

如果您希望跑满多个 CPU 核心,可以将此值适当增加

concurrent_processes=$cpu_cores

使用循环创建并发进程,每个进程占用一个 CPU 核心

for ((i=0; i<concurrent_processes; i++))
do
# 使用 yes 命令进行无限循环,将 CPU 跑满
yes > /dev/null &
done

等待一段时间,让 CPU 跑满

您可以根据需要调整等待时间

sleep 60

结束所有创建的进程

killall yes

附录

基准测试

命令:

sysbench cpu --threads=1 run
sysbench memory --threads=1 run
sysbench fileio --threads=1 --file-total-size=1G prepare
sysbench fileio --threads=1 --file-total-size=1G --file-test-mode=rndrw run

  • 工作台式机

CPU

CPU speed:
events per second: 1327.18

Memory

Total operations: 69457150 (6944840.94 per second)
67829.25 MiB transferred (6782.07 MiB/sec)

SSD

Throughput:
read, MiB/s: 138.84
written, MiB/s: 92.56

  • 台式机虚拟机

    CPU speed:
    events per second: 1384.65

    57968.05 MiB transferred (5796.07 MiB/sec)

    Throughput:
    read, MiB/s: 135.68
    written, MiB/s: 90.45

  • ARM服务器虚拟机

    CPU speed:
    events per second: 2704.44

    35698.92 MiB transferred (3569.88 MiB/sec)

    Throughput:
    read: IOPS=104.27 1.63 MiB/s (1.71 MB/s)
    write: IOPS=69.51 1.09 MiB/s (1.14 MB/s)
    fsync: IOPS=223.31

posted @ 2023-08-31 16:23  武平宁  阅读(468)  评论(0)    收藏  举报