Linux系统下测试磁盘读写IO性能(物理机和虚拟机的测试)

简介:

1、写速度测试
    用dd命令进行测试,以每次写入8k的数据,执行300000次,time命令显示执行过程的时间,执行完成后生成/test.disk文件,大小为2.3G,下面是两台物理服务器和一台虚拟机的写入速度对比:

物理机1:10.0.0.11

linux-t10u:~ # time dd if=/dev/zero of=/test.disk bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 2.07894 s, 1.2 GB/s    # 每秒写入1.2G

real    0m2.081s
user    0m0.032s
sys    0m1.112s
linux-t10u:~ # du -sh /test.disk 
2.3G    /test.disk        # 执行完后生成的文件

物理机2:10.0.0.12

linux-rnqg:~ # time dd if=/dev/zero of=/test.disk bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 3.03114 s, 811 MB/s     # 每秒写入811MB

real    0m3.032s
user    0m0.052s
sys    0m1.504s
linux-rnqg:~ # du -sh /test.disk 
2.3G    /test.disk        # 执行完后生成的文件

VMWare虚拟机:

hm:~ # time dd if=/dev/zero of=/test.disk bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 37.0812 s, 66.3 MB/s     # 每秒写入66.3MB

real    0m37.094s
user    0m0.288s
sys    0m33.174s
hm:~ # du -sh /test.disk 
2.3G    /test.disk


2、读取速度测试

    使用dd命令读取/test.disk文件

物理机1:10.0.0.11

linux-t10u:~ # time dd if=/test.disk of=/dev/null bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 0.398211 s, 6.2 GB/s

real    0m0.400s
user    0m0.016s
sys    0m0.380s

物理机2:10.0.0.12

linux-rnqg:~ # time dd if=/test.disk of=/dev/null bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 0.813786 s, 3.0 GB/s

real    0m0.815s
user    0m0.032s
sys    0m0.500s

VMWare虚拟机:

hm:~ # time dd if=/test.disk of=/dev/null bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 29.2684 s, 84.0 MB/s

real    0m29.296s
user    0m0.068s
sys    0m14.401s


3、读取和写入测试
    用刚刚在上面测试写速度生成的大小为2.3G的test.disk文件,将其拷贝为/tmp/test.disk2文件,测试磁盘读取和写入的速度

物理机1:10.0.0.11

linux-t10u:~ # time dd if=/test.disk of=/tmp/test.disk2 bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 2.42679 s, 1.0 GB/s    # 读取写入速度

real    0m2.428s
user    0m0.012s
sys    0m1.352s
linux-t10u:~ # du -sh /tmp/test.disk2 
2.3G    /tmp/test.disk2

物理机2:10.0.0.12

linux-rnqg:~ # time dd if=/test.disk of=/tmp/test.disk2 bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 3.52278 s, 698 MB/s     # 读取写入速度

real    0m3.524s
user    0m0.052s
sys    0m1.972s
linux-rnqg:~ # du -sh /tmp/test.disk2 
2.3G    /tmp/test.disk2

VMWare虚拟机:

hm:~ # time dd if=/test.disk of=/tmp/test.disk2 bs=8k
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 70.0314 s, 35.1 MB/s      # 读取写入速度

real    1m10.098s
user    0m0.124s
sys    0m16.901s
hm:~ # du -sh /tmp/test.disk2 
2.3G    /tmp/test.disk2



3、使用hdparm工具测试磁盘的读取速度
物理机1:10.0.0.11:

linux-t10u:~ # hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   24714 MB in  2.00 seconds = 12368.87 MB/sec
 Timing buffered disk reads: 1904 MB in  3.00 seconds = 634.53 MB/sec
测试结果:2秒钟读取了24714 MB(缓存读)的数据,每秒的速度12368.87 MB/sec
      3秒钟读取了1904 MB (物理读)的数据,每秒的速度634.53 MB/sec

物理机2:10.0.0.12:

linux-rnqg:~ # hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   20446 MB in  2.00 seconds = 10233.63 MB/sec
 Timing buffered disk reads: 1918 MB in  3.00 seconds = 638.88 MB/sec

VMWare虚拟机:

hm:~ # hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   10748 MB in  1.99 seconds = 5388.49 MB/sec
 Timing buffered disk reads:  1974 MB in  3.00 seconds = 657.30 MB/sec


本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1841883

相关文章
|
4天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示"Hello World!"。另可参考LuaDist官方推荐方式安装。
|
2天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
3天前
|
监控 JavaScript Linux
Linux系统之部署Homepage个人导航页
【5月更文挑战第13天】Linux系统之部署Homepage个人导航页
21 1
|
4天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
14 0
|
4天前
|
Linux Perl
Linux系统的文本处理
Linux系统的文本处理
|
4天前
|
存储 缓存 安全
Java 中 IO 流、File文件
Java 中 IO 流、File文件
|
4天前
|
Java Unix Windows
|
4天前
|
监控 Java
Java一分钟之-NIO:非阻塞IO操作
【5月更文挑战第14天】Java的NIO(New IO)解决了传统BIO在高并发下的低效问题,通过非阻塞方式提高性能。NIO涉及复杂的选择器和缓冲区管理,易出现线程、内存和中断处理的误区。要避免这些问题,可以使用如Netty的NIO库,谨慎设计并发策略,并建立标准异常处理。示例展示了简单NIO服务器,接收连接并发送欢迎消息。理解NIO工作原理和最佳实践,有助于构建高效网络应用。
8 2
|
4天前
|
Java 开发者
Java一分钟之-Java IO流:文件读写基础
【5月更文挑战第10天】本文介绍了Java IO流在文件读写中的应用,包括`FileInputStream`和`FileOutputStream`用于字节流操作,`BufferedReader`和`PrintWriter`用于字符流。通过代码示例展示了如何读取和写入文件,强调了常见问题如未关闭流、文件路径、编码、权限和异常处理,并提供了追加写入与读取的示例。理解这些基础知识和注意事项能帮助开发者编写更可靠的程序。
17 0
|
4天前
|
存储 缓存 Java
Java IO 流详解
Java IO 流详解
18 1