Mik*_*e B 1 virtualization linux performance hard-drive centos
我注意到我的 CentOS 5.x 虚拟机上的磁盘读/写速度间歇性变慢。
有时 hdparm 会报告:
/dev/sda3:
Timing buffered disk reads: 6 MB in 3.03 seconds = 2.04 MB/sec
Run Code Online (Sandbox Code Playgroud)
其他时候,它会报告:
/dev/sda3:
Timing buffered disk reads: 80 MB in 3.53 seconds = 22.34 MB/sec
Run Code Online (Sandbox Code Playgroud)
我倾向于怀疑 VMWare 主机系统负担过重,但在向 VMWare 管理员提出此问题之前,我想排除任何其他特定于操作系统的可能导致此行为的情况。
我可以运行任何其他区域或测试吗?任何类型的虚拟机/操作系统损坏都会导致此类行为吗?重建/更换虚拟机有帮助吗?
根据手册页:
-t Perform timings of device reads for benchmark and comparison
purposes. For meaningful results, this operation should be
repeated 2-3 times on an otherwise inactive system (no other
active processes) with at least a couple of megabytes of free
memory.
Run Code Online (Sandbox Code Playgroud)
所以,是的,其他进程可能会干扰这些结果。
我可以运行任何其他区域或测试吗?
您可以查看其他进程是否正在使用该磁盘的一种方法是从此处的sysstat主页下载。当然,Sysstat 已经可以从存储库中获得,但不幸的是,它不包含检查这一点所需的命令。pidstat
自 EL5.4 以来,EL5 内核将磁盘记帐向后移植到内核中,但没有提供使用它的接口,但一旦完成此操作,pidstat 就会起作用。
然后运行该pidstat -d命令来生成磁盘 I/O 的有用指标,特别是其他进程正在对磁盘执行的操作。您还可以用来pidstat -d <interval> <count>获取正在使用的磁盘的更实时的争用指标。
任何类型的虚拟机/操作系统损坏都会导致此类行为吗?
操作系统损坏的可能性很小(我猜系统调用以某种方式被搞砸了)。hdparm 不利用文件系统进行测试,这消除了该区域的任何减速,包括碎片整理问题。如果您使用 LVM,则存在从碎片区读取数据的风险。然而你的例子并没有表明这一点。
虚拟机损坏,我想这一切都是游戏,这取决于我能立即想到的许多因素,但可能包括更多因素:
重建/更换虚拟机有帮助吗?
我猜运气是好还是坏。请参阅上述可能有帮助/有阻碍的环境因素。
归根结底,如果您在写入介质的数据流中的任何点(在您的主机上、在您的虚拟机级别、在 SAN/控制器级别)使用卷管理软件或精简配置软件,您可以没有可靠的期望,即您正在执行的顺序读取确实是顺序的,或者您正在写入的介质是一致的(如果它是快速磁盘或数据已移动到慢速磁盘)。
虚拟化之所以如此强大,是因为它为主机添加了一个逻辑抽象层。但由于该抽象层,对它们执行任何可靠程度的容量管理也可能是可怕的。
| 归档时间: |
|
| 查看次数: |
1527 次 |
| 最近记录: |