0

我有高负载的信息网站,每天点击10 000次以上。它被重写Symfony 2 FrameworkDoctrine2 ORM。站点有大量的信息页面,开发服务器上的每个负载大约需要 0.5 - 1.5 秒。请注意,它是在开发服务器上运行的,因此它的负载最小。

我知道有很多缓存提供程序,例如 Varnish、Memcached、APC、HTTP 等...请建议我在哪个层(DBHTTP等...)以及更好地使用哪种类型的缓存来提高性能这个网站?

4

1 回答 1

2

就像@Mark 在评论中所说的那样,“对于这样一个开放式问题没有最佳答案”。首先,让我们找出什么:哪个组件是系统瓶颈、DB、HTTP 响应、javascript……?

在每个组件中,还有其他问题:

  • DB:哪些查询会减慢系统速度(提示:使用 Log Slow Query)?我们可以重构那些吗?(这通常是关键因素,因为它是信息丰富的网站)MySQL Explain或其他替代方案的结果是什么?
  • HTTP 响应:将渲染的内容传输到客户端机器是否需要过多的时间?(提示:使用 Web 开发人员工具甚至 cUrl)。它会一遍又一遍地加载静态文件而不使用 HTTP 缓存吗?使用Nginx 缓存有帮助吗?
  • Javascript:是否有任何脚本阻止浏览器呈现页面?是否有脚本冲突导致的错误(这肯定会增加等待时间)?

……

让我们列出清单,其中列出了这些问题 <--> 的答案。“哪种类型的缓存更好地用于提高本网站的性能”的答案完全取决于这些。

可以参考的地方:

我推荐一本非常非常好的书:Scale PHP Application,您可以在其中学习真实的用例,如何调试,如何分析..

于 2014-11-11T02:57:48.213 回答