1.测试目的:

测试出opcache中,opcache.revalidate_freq这个参数最适合的大小

说明:如果opcache.revalidate_freq参数越大,服务器单位时间能接收的请求越多,但是加载代码的频率越低,会造成代码加载不及时的问题,本次测试要找出相对最适合值

2.测试方法

(1)加载文件

1 <?php
2 for($i=0;$i<1000;$i++){
3 require 'a1.php';
4 }

其中,a1.php为空文件

(2)执行命令

ab -c 100 -n 10000 -X 10.1.48.61:80 http://merchant.fenqile.com/a.php

3.测试数据

时间/s 第一次QPS 第二次QPS 第三次QPS 第四次QPS 第五次QPS 第六次QPS 第七次QPS 第八次QPS 第九次QPS 第十次QPS 平均QPS 相比涨幅(%)
无cache 251.09 275.02 264.1 251.56 315.88 319.58 244.22 245.67 241.6 252.99 266.171 -
2 3340.49 3123.33 3522 3283.12 3288.55 2988.41 3198.33 3432.29 2982.24 3333.91 3249.267 1120.744183
5 3561.02 3623.98 3252.94 3242.5 3268.44 3655.6 3379.73 3418.09 3862.37 3612.47 3487.714 7.33848588
10 3689.13 3223.77 3590.28 4582.31 3662.97 2951.84 3652.12 3690.98 3483.92 3586.67 3611.399 3.546305689
15 3800.59 3474.47 3568.07 3573.22 3617.65 3620.58 3391.89 3735.69 4241.76 3457.95 3648.187 1.018663404
20 4328.92 3499.61 3437.75 3747.84 3319.07 3797.55 3349.25 4682.37 3485.39 3469.82 3711.757 1.742509361
25 3820.99 3600.84 4506.87 3417.04 3309.1 3212.22 3595.61 4747.57 3483.93 3271.25 3696.542 -0.409913688
30 3986.23 3500.7 4561.91 4650.12 3509.07 3566.24 3570.83 3281.27 3285.42 3218.76 3713.055 0.446714795
60 4456.15 3691.21 3243.29 3281.61 3587.71 3804.15 3316.35 4071.93 3809.79 4156.25 3741.844 0.775345369

3.测试结论

根据上面的表格

(1)在加载文件多的情况下,使用opcache的方式,可以使性能优化10倍

(2)可以看到,2s-5s相对涨幅是最大的,超过10s以后,涨幅相当缓慢,故可以得出结论:opcache中opcache.revalidate_freq参数,设置的值为2-5为宜

关于opcache中opcache.revalidate_freq参数设置测试报告的更多相关文章

  1. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  2. 用WIN7系统IIS的提示:数据库连接出错,请检查Conn.asp文件中的数据库参数设置

    我用科讯的从4.0开始,去年开始很少用科讯做新站了,今天拿来做一下,结果悲剧了,数据库路径老是不对,百度一番又一番的,,最后终于给度娘解决了.分享出来给遇到同样的问题的人. 用WIN7系统IIS的注意 ...

  3. matplotlib 中的一些参数设置

    首先:在pycharm 中要使图显示出来,最后一定要加上 plt.show(),如: plt.bar(x, y) plt.show() 下面就是我使用 matplotlib  遇到的一些常用参数设置: ...

  4. erlang otp中的socket参数设置

    抄自http://www.zackzod.me/2012/10/24/socket-options-in-erlang-otp.html Erlang的inet模块里提供了对Socket进行一系列参数 ...

  5. JDBC与Hibernate中SQL语句参数设置的顺序问题

    JDBC中:设置从1开始 例: Connection con = DriverManager.getConnection("jdbc:mysql://localhost/...", ...

  6. Mysql : L闪存卡linux中的内核参数设置

    将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...

  7. 02_02Session中Config的参数设置

    import tensorflow as tfimport numpy as np # todo 学习 Session中的参数Config=tf.ConfigProto()的使用.重点是GPU相关的参 ...

  8. js中setTimeout()时间参数设置为0的探讨

    起因源于一道前端笔试题: var fuc = [1,2,3]; for(var i in fuc){ setTimeout(function(){console.log(fuc[i])},0); co ...

  9. vins-mono中的imu参数设置

    na:加速度计的测量噪声 nw:陀螺仪的测量噪声 nba: randow walk noise随机游走噪声 nbw:randow walk noise随机游走噪声 ba:加速度计的偏差 bw:陀螺仪的 ...

随机推荐

  1. 七. Vue Router详解

    1. 认识路由 1.1 路由概念 路由是什么? 路由是一个网络工程里面的术语. 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动 --- 维基百科 路由器提供了两种机制:路由 ...

  2. 【手把手学习flutter】Flutter打Android包的基本配置和包体积优化策略

    [手把手学习flutter]Flutter打Android包的基本配置和包体积优化策略 关注「松宝写代码」,回复"加群" 加入我们一起学习,天天向上 前言 因为最近参加2020FE ...

  3. mysql游标cursor与for循环

    delimiter // create procedure p2() begin declare row_id int DEFAULT 0; declare row_num int DEFAULT 0 ...

  4. 中间件面试专题:RabbitMQ高频面试问题

  5. Java集合源码分析(五)——HashMap

    简介 HashMap 是一个散列表,存储的内容是键值对映射. HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口. HashM ...

  6. shell 编程 -- 条件判断

    1.按照文件类型进行判断(常用的)-b 判断该文件是否存在-d 判断是否存在,并且是否为目录(是目录就为真)-e 判断该文件是否存在(存在为真)-f 判断文件是否存在,并且是否为普通文件(是普通文件为 ...

  7. Ubuntu18 安装 MySQL 8.0.22

    Ubuntu18 安装 MySQL 8.0.22 网上教程都比旧,也不是第一次安装了,但依然还是花了比较多的时间,特此记录本次安装过程.因是安装完毕后回忆记录,或有错漏. 第一步: 下载 mysql ...

  8. ubuntu 18 安装xgboost GPU版本

    综合上述两个帖子: https://www.cnblogs.com/huadongw/p/6161145.html https://blog.csdn.net/u011587516/article/d ...

  9. 【JAVA基础】static的定义

    public class STATIC { public static void main(String[] args) { // 创建两个不同的类 只要赋值一个 另外一个定义好的static属性 会 ...

  10. js上 十三、函数初步-2

    13-1.函数的参数 函数的本质: ü 函数的作用,代码重用,编写一个函数,就是为了解决一类问题. ü 函数每次调用,都有一个结果,那么结果和什么相关呢?y = x , y = x2,y = sin( ...