让我说明我正在处理的问题:
正常流量=每天独立访客2.000
正常状态:服务器响应0.1-0.4秒/网页浏览量。 PHP代码经过优化,可以在这段时间内从数据库中获取和处理所有数据并输出HTML代码(称之为服务器响应)。
峰值流量状态:服务器响应2-5秒/网页浏览量。这比我满意的反应要长一点。我不希望我的访问者等待这么长的请求页面。
我现在在做什么:我现在处理这个问题的方法是本地缓存系统。我使用缓存的SQL结果制作本地缓存文件(存储在磁盘上)大约10分钟 - 所以我不必为每个请求调用相同的sql查询。
我的网站是http://www.lechaton.cz/。
有没有更好的方法来处理峰值流量或优化CPU利用率?
答案 0 :(得分:0)
感谢您的所有时间和建议!
我一直在整个周末工作,测试和测试以及比较方法和解决方案。
Nginx解决方案(用LNMP替换LAMP)
调整您的MySQL设置和MySQL查询
通过更好的缓存和缓冲来调整MySQL服务器。还要检查最大连接数和内存使用情况。
但最重要的是优化查询以获得最佳效果。即使您的查询在使用mysql-cache方面表现最佳,更大的流量也会在大流量的几分钟内导致服务器停机。 你必须快速你的输出!!
收听apache
1)内容缓存=规则#1 我发现最好的解决方案是:尽可能多地缓存内容。如果有显示缓存内容的选项,则没有理由为每个用户生成相同的输出。它速度更快,可以节省您的资源。
2)静态内容的nginx 您可以使用nginx在静态文件和内容中表现最佳,多个进程的CPU负载更低。
使用PHP-FPM,您的代码可以加速两次(可能更多)。但我不能将其视为最终解决方案。
3)使用基准测试工具测试您的网站我使用过siege和apache基准测试(ab)和mysqlslap。
这些步骤帮助我减少了使用全新服务器的CPU负载,加快了我的服务器响应速度,并在重大事件期间平衡了我的峰值流量。
希望有人会觉得有帮助。