关于OPcache对Swoole影响的理解

OPcache

  1. OPcache是通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能
  2. 通过opcache_get_status(true)可获取已被编译的文件
  3. 当代码中执行includerequire时,此时并未重新编译php文件,而是读取的OPcache缓存.

Swoole

  1. Swoole应用在执行start()后会将基础扩展存储在共享内存中
  2. Swoole应用在第一次includerequire其他扩展后,会将其编译后保存在内存中

结论

  1. 开启OPcache会提高Swoole初次开启速度以及重启速度
  2. 开启OPcache会提高Swoole初次加载其他扩展

个人见解,如有不准确请斧正,谢谢

www.php.net/manual/zh/book.opcache...
https://wiki.swoole.com/#/question/swoole?id=swoole-%e9%a1%b9%e7%9b%ae%e8%b5%b7%e6%ba%90%e5%92%8c%e5%90%8d%e5%ad%97%e7%94%b1%e6%9d%a5

本作品采用《CC 协议》,转载必须注明作者和本文链接
转载请告知
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

用swoft测试发现在开启opcache.enable的情况下查看php.ini没有查看到opcache的相关信息,我想swoole应该不会和opcache结合使用,因为:
1、swoole本身就是常驻内存的,没有必要再用opcache;
2、就单纯的php环境而言,开启opcache的情况下,第一次访问也不会用到opcache,第一次访问后才会生成缓存,所以怎么会有“开启 OPcache 会提高 Swoole 初次开启速度以及重启速度 / 开启 OPcache 会提高 Swoole 初次加载其他扩展”的说法呢?也没有先开启php再开启swoole的说法,因为swoole仅仅是php的扩展而已,开启php服务就开启了swoole

2年前 评论

opcache和swoole的压测情况应该接近才对,因为fpm和nginx也采用了epoll模型,同等情况下,opacache相较于swoole只是增加了fpm和nginx的进程通信开销,参考 www.cnblogs.com/phpyu/p/13712673.h... 的压测情况,应该到不了10倍这么大的差距。。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!