我正在尝试在 Azure 预览门户上设置 Web 应用程序。我从 Azure VM 库中创建了一台 Linux Centos 6.2 计算机并将一些磁盘附加到它。
df -h
给了我这个:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
28G 4.2G 22G 16% /
tmpfs 1.7G 0 1.7G 0% /dev/shm
/dev/sda1 485M 94M 366M 21% /boot
/dev/sdb1 133G 188M 126G 1% /mnt/resource
/dev/sdc1 40G 176M 38G 1% /mnt/datadrive
sdb1
并且sdc1
都是存储驱动器。sdb1
是您创建机器时创建的默认驱动器,sdc1
我将其作为另一个 40GB 驱动器连接。
我想测试每个驱动器的性能并将其与启动驱动器进行比较(可能是这样sda1
)。
我曾尝试使用dd
它:
dd if=/dev/sda1 of=/tmp/zero bs=1k count=100k // test for sda1
dd if=/dev/sdb1 of=/tmp/zero bs=1k count=100k // test for sdb1
dd if=/dev/sdc1 of=/tmp/zero bs=1k count=100k // test for sdc1
但我不确定它是否真的在每次运行中都在不同的分区中进行测试。这是测试不同分区的读/写的正确方法吗?谢谢。
答案1
虽然 dd 可能是一个有用的工具,但记住你正在测试的文件可能已经被缓存,这一点也很重要。在 NFS 环境中,我们甚至会在测试迭代之间卸载并重新安装分区,以确保我们确实访问了服务器,而不是依赖于本地的东西。
答案2
答案3
DD 可以通过这种方式提供一些见解,但是您使用的方法可以改进。
您需要确保源或目标没有物理驱动器支持,否则您可能会获得包含两个元素的性能特征。
我的建议是使用以下命令来测试性能。
将目标磁盘挂载在 /mnt/sdb1 下
dd if=/dev/zero of=/mnt/sdb1/image_file bs=1k count=...
源磁盘已卸载。
dd if=/dev/sdb1/image_file of=/dev/null bs=1k count=...
这应该会创建一个仅由空字符组成的大文件。这在任何磁盘上执行都是相当安全的,包括你的根目录(如果你有空间的话)。