当前设置;
我有一台运行网站的专用服务器(它是一个 lamp stack 论坛)
- 操作系统:CentOS
- CPU:双 3.2Ghz 四核 Xeon
- 内存:40GB(10x4GB DIMM)
- 存储:软件 RAID1,配备 2x 7.2k SATAII 500GB HDD
- 论坛 MySQL DB 大约有 10GB
- 网络根目录大约有 1.5GB(大部分是用户上传的图片)
我想尽可能地调整服务器,以尽可能少地使用硬盘。我觉得它们是这里的致命弱点。没有资金用于任何硬件更改,所以我一直在探索软件性能增强选项。
建议增加的内容;
我读了一些关于漆和memcached。PHP 论坛支持 memcached(供应商提供了在配置文件中启用它的说明),所以我应该能够安装和使用它。我想我可以将 Apache2 绑定到 loopback/127.0.0.1 接口而不是其面向公众的接口,然后安装 varnish 将其绑定到面向公众的接口,将请求传递回 127.0.0.1 上的 Apache。
我稍后可能会开始分别询问 Varnish 和 memcached 的技术配置,现在我正寻求对此的设计思路的反馈。在我看来,这听起来很合理,但这实际上是一种疯狂的方法吗?许多人使用这两个缓存包都取得了巨大的成功,在这种情况下,它们是否有可能增加对硬盘的需求?如果没有,我还应该考虑什么?
答案1
这取决于您运行的网站类型以及您在该服务器上使用的软件类型。如果对静态内容的请求很多,那么 varnish/nginx 确实可以帮助减少系统资源(CPU/RAM)的使用。如果可以缓存数据库查询,那么 memcached 也可以提供帮助(假设您想自己编写一些代码)。您可能仍想查看新版本的 Apache(2.4),因为事件 MPM 现在使用与 nginx/varninsh 相同的技术来处理请求(虽然它仍然比 nginx/varnish 慢并且使用更多资源,但它比 apache 2.2 有了很大的改进)。