linux磁盘性能测试
2010-03-05 15:15
691 查看
120-test:/# apt-get install hdparm
真实机器120上测试结果:
测试磁盘性能(不cache)
120-test:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 346 MB in 3.02 seconds = 114.65 MB/sec
测试磁盘性能(带cache)
120-test:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2786 MB in 2.00 seconds = 1393.80 MB/sec
真实机器121上测试结果:
121:~# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 310 MB in 3.01 seconds = 102.89 MB/sec
121:~# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2578 MB in 2.00 seconds = 1289.01 MB/sec
服务器sas硬盘测试结果:
lai@*:~$ sudo hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 442 MB in 3.01 seconds = 146.89 MB/sec
lai@*:~$ sudo hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 8306 MB in 2.00 seconds = 4162.04 MB/sec
虚拟机的测试结果1:
HA:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 176 MB in 3.01 seconds = 58.51 MB/sec
HA:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2966 MB in 2.00 seconds = 1483.26 MB/sec
虚拟机的测试结果2:
153:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 186 MB in 3.00 seconds = 61.93 MB/sec
153:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3012 MB in 2.00 seconds = 1505.78 MB/sec
[b]hdparm优化硬盘[/b]
hdparm -tT /dev/hda 测试硬盘速度
hdparm -A1 /dev/hda 开启硬盘预读取功能
hdparm -c3 /dev/hda 开启硬盘32位
hdparm -d1 /dev/hda 开启DMA
-d 和 -A 参数对IDE硬盘读写性能影响最大(尤 -d)
关闭预读
121:~# hdparm -A 0 /dev/sda
/dev/sda:
setting drive read-lookahead to 0 (off)
look-ahead = 0 (off)
121:~# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 2454 MB in 2.00 seconds = 1227.17 MB/sec
Timing buffered disk reads: 26 MB in 3.02 seconds = 8.60 MB/sec
开启预读
121:~# hdparm -A 1 /dev/sda
/dev/sda:
setting drive read-lookahead to 1 (on)
look-ahead = 1 (on)
121:~# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 2586 MB in 2.00 seconds = 1293.30 MB/sec
Timing buffered disk reads: 312 MB in 3.00 seconds = 103.93 MB/sec
/dev/null:回收站、无底洞
/dev/zero:产生字符
Ø 测试磁盘写能力
time dd if=/dev/zero of=/test.dbf bs=8k count=300000
因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
Ø 测试磁盘读能力
time dd if=/dev/sdb1 of=/dev/null bs=8k
因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。
Ø 测试同时读写能力
time dd if=/dev/sdb1 of=/test1.dbf bs=8k
这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test1.dbf是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。
可以通过使用dd if=/dev/zero of=/file 来测试磁盘的纯写入性能
使用dd if=/file of=/dev/null 来测试磁盘的纯读取性能
使用dd if=/file1 of=/file2 来测试磁盘的读写性能
读性能:
120-test:/home/lai# time dd if=xiangnai250.f4v of=/dev/null bs=10M
105+1 records in
105+1 records out
1104677904 bytes (1.1 GB) copied,9.66456 秒,114 MB/秒
real 0m9.666s
user 0m0.004s
sys 0m1.032s
读写性能:
120-test:/home/lai# dd if=xiangnai250.f4v of=/home/lai/2 bs=10M
105+1 records in
105+1 records out
1104677904 bytes (1.1 GB) copied,24.5128 秒,45.1 MB/秒
iozone和hdparm的区别:
iozone文件系统的表现是pagecache和磁盘性能的综合体, 在用iozone的时候, 如果文件大小在pagecache的容量之内, 你所看到的高性能通常是pagecache的性能, 也就是内存访问的速度. 如果想利用iozone测试真正的磁盘访问能力, 文件大小需要远大于内存容量. 比方说, 512M内存的机器, 可以用2G-4G的文件进行测试, 这样可以在统计上消除pagecache带来的噪音.
HDparam是直接访问块设备, 所以本身没有受到cache的影响. 17MB/sec是你硬盘的真正顺序访问的吞吐能力.
真实机器120上测试结果:
测试磁盘性能(不cache)
120-test:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 346 MB in 3.02 seconds = 114.65 MB/sec
测试磁盘性能(带cache)
120-test:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2786 MB in 2.00 seconds = 1393.80 MB/sec
真实机器121上测试结果:
121:~# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 310 MB in 3.01 seconds = 102.89 MB/sec
121:~# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2578 MB in 2.00 seconds = 1289.01 MB/sec
服务器sas硬盘测试结果:
lai@*:~$ sudo hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 442 MB in 3.01 seconds = 146.89 MB/sec
lai@*:~$ sudo hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 8306 MB in 2.00 seconds = 4162.04 MB/sec
虚拟机的测试结果1:
HA:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 176 MB in 3.01 seconds = 58.51 MB/sec
HA:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 2966 MB in 2.00 seconds = 1483.26 MB/sec
虚拟机的测试结果2:
153:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 186 MB in 3.00 seconds = 61.93 MB/sec
153:/home/lai# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3012 MB in 2.00 seconds = 1505.78 MB/sec
[b]hdparm优化硬盘[/b]
hdparm -tT /dev/hda 测试硬盘速度
hdparm -A1 /dev/hda 开启硬盘预读取功能
hdparm -c3 /dev/hda 开启硬盘32位
hdparm -d1 /dev/hda 开启DMA
-d 和 -A 参数对IDE硬盘读写性能影响最大(尤 -d)
关闭预读
121:~# hdparm -A 0 /dev/sda
/dev/sda:
setting drive read-lookahead to 0 (off)
look-ahead = 0 (off)
121:~# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 2454 MB in 2.00 seconds = 1227.17 MB/sec
Timing buffered disk reads: 26 MB in 3.02 seconds = 8.60 MB/sec
开启预读
121:~# hdparm -A 1 /dev/sda
/dev/sda:
setting drive read-lookahead to 1 (on)
look-ahead = 1 (on)
121:~# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 2586 MB in 2.00 seconds = 1293.30 MB/sec
Timing buffered disk reads: 312 MB in 3.00 seconds = 103.93 MB/sec
dd工具使用重要参数
参数 | 含义 |
if | 输入设备或者文件 |
of | 输出设备或文件 |
bs | dd缓冲区。设定dd时一次io拷贝多少数据,它与输入文件和输出文件的block size都没有直接联系。 一般来说,bs越大,拷贝速度越快 |
skip | 设定dd时从输入文件中跳过多少个dd缓冲区开始拷贝数据。一般在裸设备有offset时使用 |
seek | 设定dd时从输出文件中跳过多少个dd缓冲区开始写入数据。一般在裸设备有offset时使用 |
count | 设置dd的io数量。如果省略了count,表示完全拷贝输入文件到输出文件上 |
dd参数适用范围
备份源 | 备份目的地 | 适用参数 |
裸设备 | 裸设备 | if of bs skip seek count |
裸设备 | 文件系统 | if of bs skip count |
文件系统 | 裸设备 | if of bs seek |
文件系统 | 文件系统 | if of bs |
dd拷贝oracle数据文件需要考虑的因素
因素 | 含义 |
block size | dd一次io的buffer大小 |
offset | 只适用于裸设备,有些操作系统在裸设备上保留一定的空间给内部使用,拷贝时要跳过这部分内容 |
block 0 | 每一个oracle数据文件的头都包含一个与数据文件所在表空间的blocksize的相等的block 这个block是不计算入oracle数据文件的bytes的,但在操作系统中,它是会占用空间的。 |
测试磁盘速度?
首先要了解两个特殊的设备:/dev/null:回收站、无底洞
/dev/zero:产生字符
Ø 测试磁盘写能力
time dd if=/dev/zero of=/test.dbf bs=8k count=300000
因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
Ø 测试磁盘读能力
time dd if=/dev/sdb1 of=/dev/null bs=8k
因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。
Ø 测试同时读写能力
time dd if=/dev/sdb1 of=/test1.dbf bs=8k
这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test1.dbf是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。
可以通过使用dd if=/dev/zero of=/file 来测试磁盘的纯写入性能
使用dd if=/file of=/dev/null 来测试磁盘的纯读取性能
使用dd if=/file1 of=/file2 来测试磁盘的读写性能
读性能:
120-test:/home/lai# time dd if=xiangnai250.f4v of=/dev/null bs=10M
105+1 records in
105+1 records out
1104677904 bytes (1.1 GB) copied,9.66456 秒,114 MB/秒
real 0m9.666s
user 0m0.004s
sys 0m1.032s
读写性能:
120-test:/home/lai# dd if=xiangnai250.f4v of=/home/lai/2 bs=10M
105+1 records in
105+1 records out
1104677904 bytes (1.1 GB) copied,24.5128 秒,45.1 MB/秒
iozone和hdparm的区别:
iozone文件系统的表现是pagecache和磁盘性能的综合体, 在用iozone的时候, 如果文件大小在pagecache的容量之内, 你所看到的高性能通常是pagecache的性能, 也就是内存访问的速度. 如果想利用iozone测试真正的磁盘访问能力, 文件大小需要远大于内存容量. 比方说, 512M内存的机器, 可以用2G-4G的文件进行测试, 这样可以在统计上消除pagecache带来的噪音.
HDparam是直接访问块设备, 所以本身没有受到cache的影响. 17MB/sec是你硬盘的真正顺序访问的吞吐能力.
磁盘CACHE的两大功能:预读和回写 | |
|
相关文章推荐
- Linux——测试磁盘读取性能
- LINUX下磁盘IO性能测试评估与优化
- linux 磁盘性能测试工具fio
- Linux 磁盘性能测试语句
- Linux下测试磁盘I/O性能
- Linux下测试磁盘性能
- Linux 测试磁盘性能
- LINUX下磁盘IO性能测试评估
- Linux 如何测试 IO 性能(磁盘读写速度)
- Linux下磁盘IO性能测试工具介绍
- 使用DD进行Linux的磁盘读写性能测试
- LINUX下测试磁盘性能
- Linux磁盘读写性能测试
- Linux 如何测试 IO 性能(磁盘读写速度)
- linux 磁盘读写性能测试
- Linux 如何测试 IO 性能(磁盘读写速度)
- Linux下磁盘IO性能测试工具介绍
- linux磁盘性能测试
- linux系统稳定性测试-sysbench-磁盘IO性能测试-随机读
- linux磁盘性能测试