标签 cpu 下的文章

关注这个问题一开始是因为做AB测试的时候发现cpu的占用率很高,一开始以为是nginx的问题,调了很久还是差不多,于是想会不会是php代码的问题,换成symfony官方demo做测试,结果还是一样,我就想会不会是symfony本身的问题,搜了下,果然symfony官网本身旧有关于性能优化的方案,跟着改进了下,发现cpu占用率从80%-100%降到20%-30%,主要分为以下几点:

  1. 使用OPcache字节代码缓存
  2. 配置OPcache以获得最佳性能
  3. 不要检查PHP文件的时间戳(记得生产环境要用apc_clear_cache()/opcache_reset()更新缓存)
  4. 配置PHP实际路径缓存
  5. 优化Composer Autoloader

详细参考:https://symfony.com/doc/current/performance.html

概念
LNMP中的N是nginx充当Web Server
内容的分发者,会在文件系统找到相应的文件,就返回给浏览器,如:nginx。如果是静态的文件,就可以直接返回,但是如果是index.php需要解析并执行的脚本文件时,Web Server就无力了,需要将请求转发给相应的脚本语言的解析器来解释并执行,最终将程序的执行结果,返回给Web Server,再返回给浏览器。
LNMP中的P是php充当后端的逻辑处理程序
那么php与nginx的常规协作方式是如何的呢?需要我们明确几个概念





- 阅读剩余部分 -