想测试一下我的ssd硬盘能达到多少的iops,但是读写的时候因为linux系统会自动将读写操作进行cache,也就没法真实的验证性能了,有没有办法可以把这个特性先关闭? 写操作还好办,可以每次写入之后调用fsync强制写入磁盘,读取有类似的方法么?
补充一下,我不是想直接用现有的工具进行测试,我是自己写了一个读写io的程序(c++),想测试一下对应的iops
time dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
参数解释:
if 输入文件
of 输出文件
bs 一次读取和写入的bytes字节数
count 写入数据块的次数,也可以设为512.
oflag=dsync 强制每次写入物理硬盘,也就是不写入缓存,直接写硬盘
执行完毕后将在当前目录生成一个32M(64*512)的test文件.
固态硬盘达到70MB/秒,机械硬盘估计也就2MB/秒左右.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。