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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm 激活账号和密码破解方法

    webstorm 激活账号和密码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    69
  • Zookeeper实践方案:(4)命名服务

    Zookeeper实践方案:(4)命名服务

    2022年1月1日
    56
  • 从cer和pfx证书文件获取公、私钥

    从cer和pfx证书文件获取公、私钥一、背景最近在对接chinapay支付接口。chinapay会为每个商户号都会提供两个证书文件(cer和pfx),对接时使用chinapay提供的工具jar包,直接读取文件路径,进行请求体的签名、验签、加密、解密。chinapay提供的jar包工具类需要两个配置文件://该文件是:对方的公钥证书,内部只有公钥信息,用于请求的加密及响应的验签verify.file=/Users/macuser/Desktop/chinaPay/368_cp_test.cer//该文件是:自己的证书,

    2022年6月10日
    831
  • sublimetext3激活码(注册激活)

    (sublimetext3激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月25日
    261
  • vim学习六之搜索命令「建议收藏」

    vim学习六之搜索命令「建议收藏」目录Vim基本搜索命令/或者?搜索n/N正反向下一个特殊搜索Vim高亮搜索搜索大小写敏感搜索进阶Vim正则表达式搜索查找在行首的特定串查找在行尾的特定串匹配特定行Vim基本搜索命令/或者?搜索在Vim普通模式下,输入/或?符号就进入了搜索模式,/用于正向往下搜索,?用于反向往上搜索。n/N正反向下一个在搜索模式下可以对Vim打开的整个文本内容进行搜索,当按下n时可以继续正向查找下一个相匹配的目前单词。N的作用与n相反,是往上反向搜索目标单词。特殊搜索在Vim命

    2022年9月23日
    2
  • Java异或校验_异或校验计算器

    Java异或校验_异或校验计算器Java异或校验今天要用到异或校验,折腾了半天,写下来留作备用。功能是将一串16进制的数进行异或校验,输出校验和。代码:importjava.util.Scanner;/**亦或校验算法*/publicclassChecksum_XOR{@SuppressWarnings(“resource”)publicstaticvoidmain(String

    2022年10月4日
    5

发表回复

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

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