我想知道,如果基于 Linux 的 Web 服务器反复提供相同的静态文件,增加 RAM 是否会提高读取性能?它可能会增加页面缓存的大小,并减少磁盘寻道次数。
根据 atop,我的服务器的磁盘使用率几乎达到 100%,我正在寻找提高 i/o 性能(主要是随机读取)的方法,而无需更换整个机器。另外,我想知道是否有任何配置调整可用来更好地利用额外的 RAM 进行磁盘读取?谢谢!
答案1
首先,您需要确定到底哪里出了问题。如果您真的不需要,添加 RAM 不会提高性能。
运行free -m
看看 RAM 是否有问题。如果您发现“mem”几乎耗尽,并且缓冲区也不大,则获取更大的 RAM。否则,我建议使用某种缓存来提高 Web 服务器的性能。请查看漆。如果预算不紧张,也可以选择CDN。
答案2
或者,如果您足够勇敢,可以拥抱 memcached 的强大功能。您可以将图像、javascript 等作为缓存对象存储在 memcached 中。这将需要一个小型 php 脚本来从缓存中获取所需的对象。这将大大提高性能,因为磁盘写入被最小化,而且现在您可以利用您添加到服务器的额外 RAM :)