初探 OPcache 拓展

zisu 25

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

正常 php Code 生命周期

::__IHACKLOG_REMOTE_IMage_AUTODOWN_BLOCK__::0

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

启用 OPcache 之后的生命周期

::__IHACKLOG_REMOTE_IMage_AUTODOWN_BLOCK__::1

避免重复编译,减少 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 并发。

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

分享
微信
微博
QQ