什么类型的缓存更适合用来提高网站的性能


What type of cache better to use to improve performance of website?

我有一个高负荷的信息网站,点击量每天超过10000次。它是用Doctrine2 ORMSymfony 2 Framework上重写的。网站上有大量的信息页面,每次在开发服务器上加载大约0.5-1.5秒。请注意,它在开发服务器上运行,因此负载最小。

我知道有很多缓存提供商,如Varnish、Memcached、APC、HTTP等。请建议我在哪一层(DBHTTP等)以及使用什么类型的缓存来更好地提高网站的性能?

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

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

  • DB:哪些查询会降低系统速度(提示:使用日志慢速查询)?我们可以重新评分吗?(这通常是关键因素,因为它是一个信息丰富的网站)MySQL解释或其他替代方案的结果是什么
  • HTTP响应:将呈现的内容传输到客户端机器是否花费了不合理的时间?(提示:使用Web开发工具,甚至cUrl)。它是否在不使用HTTP缓存的情况下一次又一次地加载静态文件?使用Nginx缓存有帮助吗
  • Javascript:是否有任何脚本阻止浏览器呈现页面?是否有任何由脚本冲突引起的错误(这肯定会增加等待时间)

让我们来看看清单,它列出了这些问题<-->答案。"什么类型的缓存更适合用于提高此网站的性能"的答案完全取决于这些。

可参考的地方:

  • 谷歌网络基础知识
  • MySQL日志慢速查询
  • Xdebug探查器
  • 使用Zend Opcache加速PHP应用程序

我推荐一本非常非常好的书:Scale PHP Application,在书中你可以学习真实的用例,如何调试,如何评测。。