php 开启opcode,php 开启 opcode 测试

php 开启opcode,php 开启 opcode 测试php 开启 opcode 测试 合理使用 实验环境系统信息 Linuxlocalho localdomain3 10 0 514 10 2 el7 x86 64 1SMPFriMar30 04 05UTC2017x86 64×86 64×86 64GNU Linux 内存 512MCPU1 核 PHP 版本 PHP7 0 21 amp ZendOPcach

php 开启 opcode 测试,合理使用~

实验环境系统信息 Linux localhost.localdomain 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

内存 512M CPU 1核

PHP 版本 PHP 7.0.21 & Zend OPcache v7.0.21

opcode 介绍php 运行方式Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)

Parsing, 将Tokens转换成简单而有意义的表达式

Compilation, 将表达式编译成Opocdes

Execution, 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。

Zend 中opcode 缓存结构体

struct _zend_op {

opcode_handler_t handler; // 执行该opcode时调用的处理函数 znode result; // 函数返回信息 znode op1; // 参数1 znode op2; // 参数2 ulong extended_value;

uint lineno;

zend_uchar opcode; // opcode代码};参数配置参考地址 点击这里

opcode 注意事项opcode 生成规则是,通过时间戳进行生成新 opcode,在生产环境中如果发布版本回退,老的opcode 生成时间会大于回退版本文件的当前时间戳的。 也就是说不会再更新啦。

测试结果

测试代码

for($i=0;$i<100;$i++){

echo “Hello Opcache”;

}执行命令 ab -n 1000 -c 100 http://192.168.1.110:8080/t1.php

开启时测试结果结果Concurrency Level: 100

Time taken for tests: 0.976 seconds

Complete requests: 1000

Failed requests: 0

Write errors: 0

Total transferred: bytes

HTML transferred: bytes

Requests per second: 1024.27 [#/sec] (mean)

Time per request: 97.630 [ms] (mean)

Time per request: 0.976 [ms] (mean, across all concurrent requests)

Transfer rate: 1430.38 [Kbytes/sec] received

关闭后测试结果Concurrency Level: 100

Time taken for tests: 1.695 seconds

Complete requests: 1000

Failed requests: 0

Write errors: 0

Total transferred: bytes

HTML transferred: bytes

Requests per second: 589.89 [#/sec] (mean)

Time per request: 169.522 [ms] (mean)

Time per request: 1.695 [ms] (mean, across all concurrent requests)

Transfer rate: 823.78 [Kbytes/sec] received

结论在开启 opcache 后 每秒钟请求从 589.89 增长到了 1024.27 合理利用 opcache 会给程序带来不错的优化效果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233637.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号