VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

VPS主机磁盘IO的好坏直接影响到VPS主机性能的高低。对于测试VPS主机的性能,我们有非常多的脚本工具,例如:VPS主机速度和性能综合测试工具整理汇总中我们就分享了不少的脚本工具,可以快速地测试VPS主机的CPU、内存和带宽等。

不过,有好友反馈说对于VPS主机的磁盘IO测试,脚本测出来的结果差别比较大,甚至直到建站时才发现购买的VPS主机的IO太低,严重影响了性能。这篇文章就来分享一下VPS真实IO检测工具:DD、hdparm、Sysbench和FIO。

VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

一、DD命令工具

dd if=/dev/zero of=test bs=8k count=256k conv=fdatasync
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

以上代码中conv=fdatasync与oflag=dsync的区别在于:sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。fsync函数只对由文件描述符filedes指定的单一文件起作用,并且等待写磁盘操作结束,然后返回。

VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

所以,不带缓存的IO读写测试才是硬盘的真实读写速度,一般来说低于30MB/s算是慢的了。

二、Hdparm工具

Hdparm是Linux的命令行程序,用于设置和查看ATA硬盘驱动器硬件参数并测试性能。首先是安装:

安装 hdparm
yum install hdparm -y
#apt install hdparm -y

然后是找出当前的硬盘。

fdisk -l
接着就可以开始测试了。命令如下:

sudo hdparm -tT /dev/sda2

测试结果如下图:

VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

三、Sysbench工具

Sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试。首先是安装:

sudo apt install sysbench

然后是生成需要的测试文件,完成后会在当前目录下生成很多小文件。

sysbench --test=fileio --num-threads=20 --file-total-size=1G --file-test-mode=rndrw prepare

测试执行:

sysbench --test=fileio --num-threads=20 --file-total-size=1G --file-test-mode=rndrw run

测试完了,就可以看到相关的读写速度了。

VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

清理测试时生成的文件。

sysbench --test=fileio --num-threads=20 --file-total-size=1G --file-test-mode=rndrw cleanup

四、Fio测试工具

Fio是Linux下开源的一款IOPS测试工具,主要用来对磁盘进行压力测试和性能验证。它可以产生许多线程或进程来执行用户特定类型的I/O操作,通过编写作业文件或者直接命令去执行测试动作,相当于是一个 多线程的io生成工具,用于生成多种IO模式来测试硬盘设备的性能。

首先是安装:

sudo apt install fio

测试读命令:

fio --name TEST --eta-newline=5s --filename=temp.file --rw=read --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
Fio测试工具读速度

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10215

(0)
凯影的头像凯影
上一篇 2023年11月23日 下午4:24
下一篇 2023年11月24日 下午4:39

相关推荐

  • Linux缓冲区的理解

    一、FIFE 可以看到对过程重定向后结果发生了改变,C接口的函数printf,fprintf,fputs都被打印了两次;而系统接口write前后只被打印了一次,为什么呢?肯定和fork有关! fork会创建子进程。在创建子进程的时候,数据会被处理成两份,父子进程发生写时拷贝,我们进行printf调用数据的时候,数据写到显示器外设上,就不属于父进程了,数据没被…

    2023年4月10日
    1.0K00
  • Shell脚本——提取目录名和文件名

    在许多场景下,我们都需要对文件名称或者文件所在的目录进行操作,已达到我们业务目的。通常的操作是由路径中提取文件名,从路径中提取目录名,提取文件后缀等等一系列的操作。 一、${} 1.${var##*/} 2.${var##*.} 3.${var#*.} 4.${var%/*} 5.${var%%.*} 6.总结 其实 ${} 并不是专门为提取文件名或目录名的…

    2024年2月18日
    1.2K00
  • 【Docker入门】数据卷管理

    在创建 docker 的镜像和容器后,还需要对容器进行数据管理,以便能与主机、不同容器之间进行交换数据。 本文主要介绍如何通过数据卷的方式实现多个容器间的数据共享和交换。 了解docker数据卷 docker 数据卷(Data Volume)是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于 Linux 的 mount 操作。数据卷可以…

    2024年2月2日
    87700
  • ansible基础用法

    今天需要同时对200+机器进行操作,使用ansible进行处理 首先使用的是ubuntu22.04的机器,一键安装ansible 安装完成后,需要对ansible.cfg配置文件进行修改,在当前目录下,新建 ansible.cfg 文件 配置文件完成后,需要创建hosts主机组,新建 hosts 文件 最后进行机器验证 这样就说明,你的ansible主机可以…

    2023年11月7日
    99100
  • 如何修复Linux系统中已知的系统软件缺陷?

    Linux操作系统的ECS实例某些业务运行异常问题,是由Linux操作系统本身已知的系统软件缺陷导致,若您的ECS实例的操作系统不是最新版本,可以尝试通过手动升级ECS实例的操作系统软件包来修复。 当前已知的Linux系统软件缺陷如下: 可通过升级操作系统中软件解决的Linux ECS实例问题 在CentOS或RHEL 7实例上,启动某个服务或进程时提示端口…

    2023年11月14日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信