概述
本文主要讲述Linux系统中内存/硬盘测速方法,通过软件sysbench以及dd命令实现。
sysbench安装
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install sysbench
CentOS/RHEL:
sudo yum install epel-release
sudo yum install sysbench
sysbench测试
CPU压力测试
sysbench cpu --threads=4 run
内存测速/压测
内存压测
sysbench memory --threads=4 run
内存读写测试
内存读测试
sysbench --test=memory --memory-block-size=1M --memory-total-size=100G --memory-oper=read run
内存写测试
sysbench --test=memory --memory-block-size=1M --memory-total-size=100G --memory-oper=write run
dd命令硬盘测速
硬盘写入测速
sudo dd if=/dev/zero of=speedtest.tempfile bs=1M count=4096 oflag=direct
# 或
dd if=/dev/zero of=speedtest.tempfile bs=1M count=4096 oflag=direct
说明:
- 因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
speedtest.tempfile在那个盘测得就是那个盘- bs * count = 测试文件大小
oflag=direct注意:写入是oflag
硬盘读取测速
sudo dd if=speedtest.tempfile of=/dev/null bs=1M iflag=direct
或
dd if=speedtest.tempfile of=/dev/null bs=1M iflag=direct
说明:
tempfile.speedtest是写入测试后的文件,故此需要先测试写入- /dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在tempfile.speedtest 所在设备上,也相当于测试磁盘的读能力。
oflag=direct将跳过内存缓存iflag=direct注意,读取是iflag
硬盘IO测速/压测
sysbench fileio --threads=4 --file-block-size=1M --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
版权所有 © 【代码谷】 欢迎非商用转载,转载请按下面格式注明出处,商业转载请联系授权,违者必究。(提示:点击下方内容复制出处)
源文:《Linux 硬盘测速/内存测速》,链接:https://www.daimagu.com/article/2506251457163020.html,来源:【代码谷】
评论