網絡編程:測試磁盤和網絡的性能

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中多數據會更好一些
相關文章
相關標籤/搜索