网络编程:测试磁盘和网络的性能

1、dd命令测试磁盘的读写性能

dd是Linux/UNIX 下的一个很是有用的命令,做用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。另外在linux中,有两个特殊的设备:/dev/null:回收站、无底洞,常常做为写端,不会产生IO,/dev/zero产生字符,常常做为读端,也不会产生IO。

一、测试磁盘写能力
    dd if=/dev/zero of=/test1.img bs=4k count=10000
    由于/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,因此,IO都会集中在of文件中,of文件只用于写,因此这个命令至关于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。
二、测试磁盘读能力
    dd if=/dev/sda of=/dev/null bs=4k  count=10000
    由于/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,至关于黑洞,of到该设备不会产生IO,因此,这个命令的IO只发生在/dev/sdb上,也至关于测试磁盘的读能力。linux

三、测试同时读写能力
    time dd if=/dev/sda of=/test1.img  bs=4k count=10000
    在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sda是读,对/test.img是写),假设它们都在一个磁盘中,这个命令就至关于测试磁盘的同时读写能力。缓存

2、使用dd和nc命令测试网络性能

nc是netcat的简写,有着网络界的瑞士军刀美誉。由于它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
(1)实现任意TCP/UDP端口的侦听,nc能够做为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc能够做为client发起TCP或UDP链接
(3)机器之间传输文件
(4)机器之间网络测速   

nc命令有个-l参数能够用来监听指定端口,所以咱们要完成上面的功能,就只须要简单的从/dev/zero或者其余虚拟设备读入数据:网络

time nc -l -p 5001 < /test.img工具

而后另一台电脑使用nc来链接到这个端口并读入数据:
time nc 192.168.0.11 5001 > /dev/null
上面的测试的结果中,是从磁盘读数据经过网络获取,经过time命令或缺时间参数,能够计算出网络的性能。更准备的测试应该从/dev/zero中多数据会更好一些
相关文章
相关标签/搜索