让我展示一下我正在处理的问题:
- website works well while under normal traffic
- website lags while under peak traffic
- my server cpu load is pretty big while under peak traffic (because of mysql/php processes), so my website is lagging.
正常状态:服务器以0.1秒-0.4秒/页的速度响应。对PHP代码进行了优化,以获取和处理数据库中的所有数据,并在此时间内输出HTML代码(称为服务器响应)。
峰值流量状态:服务器响应时间为2-5秒/页。这反应比我满意的要长一些。我不想让我的访客等得太久。
我现在正在做的事情:现在处理这个问题的方法是本地缓存系统。我使用缓存的SQL结果使本地缓存文件(存储在磁盘上)大约10分钟,因此我不必对每个请求调用相同的sql查询。
我的网站是http://www.lechaton.cz/。
有没有更好的方法来处理峰值流量或优化CPU利用率?
发布于 2013-11-24 20:18:16
谢谢你的时间和建议!
整个周末我都在工作,测试,测试,比较方法和解决方案。
Nginx溶液(用LNMP代替LAMP )
-调整MySQL设置和MySQL查询
调试apache
最终结论
1)内容缓存=规则1我发现最好的解决方案是:缓存尽可能多的内容。如果有显示缓存内容的选项,那么没有理由每个用户都应该生成相同的输出。它更快,也节省了你的资源。
2)对于静态内容,您可以使用nginx来最好地处理静态文件和内容,多进程的cpu负载要低得多。
使用PHP,您的代码会加快两次(可能会更多)。但我不能认为这是最终的解决方案。
3)使用基准测试工具测试您的网站,我使用了和apache (ab)和mysqlslap。
这些步骤帮助我减少了我的全新服务器的CPU负载,加快了我的服务器响应速度,并在大事件期间平衡了我的高峰流量。
希望有人会发现它有帮助。
https://stackoverflow.com/questions/20141055
复制相似问题