PHP 的单线程 CPU 性能

PHP 的单线程 CPU 性能

我有一个 lamp web 服务器,运行着一个功能越来越臃肿的网站。有几个页面需要 2-3 秒的 CPU 时间来呈现 PHP。大多数其他页面的处理时间约为 0.2 秒。

我已经优化了 DB 调用并且正在运行 SSD 驱动器,但是应用程序的优化程度已经达到了我目前所能达到的程度。

我原本想通过升级处理器来作弊。问题是 2016 处理器的单线程性能仅比我的 2011 处理器快 30% 左右。

我说的对吗?单线程速度相同的处理器在单个页面加载时不会更快?我知道它能够更好地处理并发页面加载,但这不是目前的问题。

任何意见都将受到赞赏。

答案1

我认为更快的处理器不会带来超过 10 - 20% 的实际性能提升。

我的建议:

  • 优化代码可能是最有意义的。这可能需要一名开发人员,他可以减少数据库调用、减少一般工作,或者只是对其进行优化。
  • 放入页面缓存,除非页面是针对每个用户定制的。Nginx 非常适合此用途,它可以位于当前 Web 服务器的前面或替换当前 Web 服务器。除非每个页面都是针对每个用户定制的,否则缓存可能是最快、最好的解决方案。即使缓存 30 秒也能有所帮助
  • 放入 CDN,这不会缩短页面生成时间,但可能有助于加载其他资源并使其感觉更快。为此,设置缓存头至关重要。例如,CloudFlare 有一个免费套餐。
  • 尝试使用 HHVM 而不是普通的 PHP - 它比 PHP5 快得多。它是由 Facebook 编写的,并不是每个 PHP 应用程序都可以在其上运行 - 但 Wordpress 和我尝试过的几个应用程序都可以。

相关内容