我的网站服务器很慢,我联系了我的托管公司。这家公司要求我执行这个命令行:
hdparm -tT /dev/sda
结果在这里:
/dev/sda:
Timing cached reads: 1112 MB in 2.00 seconds = 555.55 MB/sec
Timing buffered disk reads: 4 MB in 4.80 seconds = 854.16 kB/sec
我不明白这是什么意思,我读了那个人,但你能清楚地解释一下这个结果是什么意思吗?
非常感谢。
首先,这速度慢得离谱……因为速度比互联网访问速度慢。我们的网络服务器在大约 7 年前仅花费 1800 美元,它为 hdparm -tT 提供了这些统计信息:
第一个速度显示如果数据已经缓冲,磁盘读取的速度有多快。磁盘永远不会被访问,因此对于 Web 服务器来说可能毫无意义(因为大多数时候磁盘读取可能不会被缓冲)。
第二个统计数据显示了真实的硬盘读取性能。在您的情况下,这意味着 Web 服务器的读取速度低于 1 MB/秒。如果您在同一台服务器上有一个数据库,则应将其移至单独的服务器,因为即使扫描小表也可能需要几秒钟的时间。
-T 正在测试 OS 磁盘缓存读取速度。这反映了对已缓存数据的读取操作的性能,并告诉您对于频繁请求的数据可以预期的数据速率类型,并且可以预期会被完全缓存。它确实告诉您更多有关主内存带宽的信息,而不是与磁盘本身有关的任何信息。
-t 正在测试底层磁盘的实际读取率。这绕过了 OS 磁盘缓存,并为您提供了从磁盘本身持续读取数据的预期数据速率。
如果服务器不忙于做其他事情,这些测试只会真正反映实际系统。在运行生产负载时使用它可以让您了解您在运行时可用的空间量,这是一个有用的指标。
在您的情况下,854.16 kB/sec 对于无缓冲读取来说是一个相当低的数字。我希望即使是相对较慢的现代驱动器也能带来> 50Meg / sec的数字。在您的情况下,我猜您的服务器当前因磁盘活动而超载,而 hdparm 告诉您它几乎已用尽。
造成这种情况的确切原因是另一个问题 - 它可能只是忙于繁重的磁盘 IO 活动,可能存在驱动程序\设置问题,可能存在物理问题,单个驱动器存在读取问题或 RAID 包通过重建。