我的网站服务器非常慢,我联系了我的托管公司。该公司要求我执行以下命令行:
-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我不明白这意味着什么,我读了那个人,但你能解释清楚这个结果意味着什么吗?
非常感谢。
发布于 2010-02-07 14:29:02
首先,这太慢了.就像上网速度慢一样。我们的web服务器,大约7年前只花了1800美元,给出了hdparm -tT的统计数据:
Timing buffer-cache reads: 1836 MB in 2.00 seconds = 918.00 MB/sec
Timing buffered disk reads: 98 MB in 1.95 seconds = 50.26 MB/sec第一个速度显示如果数据已经被缓冲,磁盘读取的速度有多快。磁盘从未被访问过,因此对于web服务器来说,它可能是毫无意义的(因为大部分时间磁盘读取可能不会被缓冲)。
第二个stat显示了真正的硬盘读取性能。在您的示例中,这意味着web服务器正在读取1MB/秒以下的数据。如果在同一服务器上有数据库,则应该将其移动到单独的服务器上,因为扫描即使是小表也需要几秒钟的时间。
发布于 2010-02-07 14:32:11
-T正在测试OS磁盘缓存的读取速度。这反映了已经缓存的数据的读取操作的性能,并告诉您对于频繁请求的数据可以期望的数据速率类型,以及预期将被完全缓存的数据速率。它确实告诉你更多关于主内存带宽的事情,而不是与磁盘本身有关的任何事情。
-t正在测试底层磁盘的实际读取速率。这绕过了OS磁盘缓存,并给出了从磁盘本身持续读取数据所期望的数据速率类型。
只有当服务器不忙做其他事情时,这些测试才能真正反映实际的系统。在它运行时使用它,生产负载将使您了解您在其运行的时间点上有多少空间,这是一个有用的指标。
在您的例子中,对于未缓冲的读取,854.16 kB/秒是一个非常低的数字。我认为,即使是相对缓慢的现代驱动器,也会带来50 sec/秒以上的数字。在您的例子中,我猜想您的服务器目前已经超载了磁盘活动,hdparm告诉您,它已经被关闭了。
造成这种情况的确切原因是另一个问题--它可能只是忙于繁重的磁盘IO活动,可能存在驱动程序\设置问题,可能存在物理问题,要么是单个驱动器存在读取问题,要么是RAID包正在重新构建。
https://serverfault.com/questions/110397
复制相似问题