标签:选项设置 系统 执行 use 子进程 读写 需要 %s nc命令
1. sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd bs=1000K count=20000;sync)"1)sync 命令用来刷新文件系统的缓冲区,执行sync命令实际的作用是把内存中的数据缓冲写入到磁盘中。
先执行下sync命令,是为了减少对后面测试的影响。也可以使用 echo 3 > /proc/sys/vm/drop_caches 来清除缓存。
(2)time 命令用来测试命令的执行时间,shell内建还有一个time命令,我们这里使用全路径来指定使用的是非内建命令。
-p 选项设置时间的输出格式为POSIX缺省时间格式,单位是秒,在后面的测试小节可以看到time -p 的输出形式。
(3)bash 命令 -c 选项的作用是将后面的字符串参数当作bash脚本来执行,看起来有些画蛇添足,好像直接执行也是可行的,
其实不然,因为后面字符串中包含了两条命令行,而time命令需要统计这两条命令行的执行时间。
(4)小括号的意思是另起一个子进程来执行括号中的脚本,dd 这条命令行这里就不讲了,不知道的话Baidu吧。
重点是sync命令,因为当dd退出时,这条命令行提交的大部分内容都在内存缓冲区(写缓存),甚至如果机器的内存相比于你提交的数据要大得多,
那可能数据都在内存中,而再执行sync才能将内存中的数据写入到磁盘中,否则就成了测试内存的写速度,那显然不是你想要的结果。
----------------------------------------------------*-------------------------------------------
测试命令:
#sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=/nas1/123 bs=4k count=1024000;sync)"*
1024000+0 records in
1024000+0 records out
4194304000 bytes (4.2 GB) copied, 6.90273 s, 608 MB/s
real 7.20
user 0.10
sys 6.88
[root@rd2 /]# free -m
total used free shared buffers cached
Mem: 128853 117922 10931 0 224 603
-/+ buffers/cache: 117094 11758
Swap: 0 0 0
[root@rd2 /]# iostat -c
Linux 3.19.0 (rd2.centos.com) 11/21/2018 _x8664 (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
11.21 0.00 10.19 0.58 0.00 78.02
以上命令测试存储服务器硬盘读写
解析:硬盘iops =count数量\writer写入时间
iops=1024000\6.9
测试存储的同时查看内存、CPU的使用率
= ===============================================================
dd -----命令解析:
iostat--命令解析:
常见的读写测试命令还有:
iozone
标签:选项设置 系统 执行 use 子进程 读写 需要 %s nc命令
原文地址:http://blog.51cto.com/11181827/2320393