了解 OPcache 拓展

它是由 PHP 官方公司 Zend 开发的一款免费使用的 PHP 优化加速拓展。将 PHP Code 预编译生成的脚本文件 OPcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速 PHP 应用响应。

正常 PHP Code 生命周期

了解 OPcache 拓展

每次处理一个请求,PHP 脚本都会执行一遍上面的步骤,如果 PHP Code 没有变化,那么 OPcode 也不会有变化。显然没必要每次都重新生成 OPcode,结合在 Web 中非常常见的缓存机制,我们也可以把 OPcode 缓存下来,直接通过缓存访问 OPcode,想想都美滋滋。

启用 OPcache 之后的生命周期

了解 OPcache 拓展

避免重复编译,减少 CPU 和内存的开销。

OPcache 在 PHP 5.5 以后默认安装,需要我们手动开启与相关配置。

相关配置可参考:

推荐一款轻量级的压测工具 wrk

wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产生大量的负载。

  • 轻量级性能测试工具
  • 安装非常简单
  • 几分钟就能学会基本使用
  • 高性能 I/O 机制
安装
git clone https://github.com/wg/wrk.git

cd wrk

make

sudo cp wrk /usr/local/bin

wrk -v

...
...
基础使用
wrk -t12 -c400 -d10s http://your.app.domain

使用 12 个线程运行 10 秒,400 个 Http 并发。

更多使用方法可深入了解。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Hello。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

wrk没用过,一直用ab

4年前 评论

PHP 作为解析型语言,代码都需要转换成指定平台的 CPU 指令执行,他们说我们慢,也就是慢在这里了。

4年前 评论

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