我们正在运行一个网站,目前该网站的浏览量为3-5百万。我们的站点是一个文件共享站点,因此它包含250,000个文件和数千个符号链接。
硬盘是1500GB SATA磁盘。
使用hdparm
我们,我们知道硬盘速度已降至15-20 MB / s,即80 MB / s。
因此,现在我们要运行fsck
以解决磁盘问题。
- 将
fsck
可以解决这个问题? fsck
完成将花费多少时间(只是我们要计算将要发生的停机时间)?
我们正在运行一个网站,目前该网站的浏览量为3-5百万。我们的站点是一个文件共享站点,因此它包含250,000个文件和数千个符号链接。
硬盘是1500GB SATA磁盘。
使用hdparm
我们,我们知道硬盘速度已降至15-20 MB / s,即80 MB / s。
因此,现在我们要运行fsck
以解决磁盘问题。
fsck
可以解决这个问题?fsck
完成将花费多少时间(只是我们要计算将要发生的停机时间)?Answers:
随着同时访问的文件数量增加,速度会下降。硬盘驱动器不喜欢被并行访问:每次读/写磁头需要切换柱面时,您都会损失几毫秒。即使两个文件在同一圆柱上,甚至在同一轨道上,您可能仍然必须等待旋转才能从一个文件移到另一个文件。如果以每秒兆位为单位测量驱动器性能,则可以预期随着并行访问的增加,驱动器的性能将成倍下降。
fsck
对此无济于事:它只修复损坏的目录结构,不执行任何优化。
理想的解决方案是切换到固态存储,因为它没有旋转盘片的任何物理限制。但这可能是成本过高的。
下一个最佳选择是使用针对并行访问优化的RAID。请记住,可以为许多不同的性能配置文件配置RAID,因此您将需要一些时间来学习任何给定RAID硬件和驱动程序的设置。
使用积极的文件系统缓存,您可以减轻问题。如果您的系统有足够的RAM,Linux应该已经做得很好。运行一个程序,像top
看有多少可用RAM。但是,如果最常用的文件不能放入RAM(或您可能会获得的任何RAM)中,这将无济于事。
穷人的解决方法是将文件拆分到几个不同的物理硬盘驱动器上(而不只是同一驱动器上的不同分区)。这并不是一个长期的可扩展解决方案,最终会花费比体面的RAID多的费用。但是,如果周围有驱动器,这可能是一个快速解决方案。
对于任何涉及硬盘驱动器的解决方案,请确保它们具有较高的旋转速度和较低的查找延迟。
我在这里写了一篇有关硬盘性能的一般背景文章:
hdparm
基准测试与“并行访问” 没有太大关系。在我看来,听起来好像他的磁盘有故障。过去速度更快,现在却不是。可能是因为它正在搬迁部门。
hdparm
执行测试以及结果每秒是“兆位”还是“兆字节”?
hdparm进行顺序读取。正如其他人所说,您的文件服务器磁盘应该做很多工作。
如果您收到HD错误,则这些错误应该出现在您的/ var / log /中。
为什么不先尝试“ smartctl -t short / dev / sda”,然后再尝试“ smartctl -t long / dev / sda” ??对于大多数新硬盘,即使使用高清硬盘,也可以发出此命令。聪明会给你一些结果。您可以使用“ smartctl --all / dev / sda”阅读硬盘的健康状况。
如果要向通过并发访问装载的HDD发送hdparm,这可能就是为什么您的结果比以前少很多的答案。
我应该将您的数据尽快移至RAID设置。