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. uwsgi+nginx的三种配置方式

    第一种 vi /etc/uwsgi.ini uwsgi --reload uwsgi.pid vi /etc/nginx/conf.d/iot.conf service nginx restart 第 ...

  2. TCP的流量控制和阻塞控制

    流量控制和阻塞控制实例: 可以用一个例子来说明这种区别.设某个光纤网络的链路传输速率为1000Gbit/s.有一台巨型计算机向一台个人电脑以1Gbit/s的速率传送文件.显然,网络本身的带宽是足够大的 ...

  3. activiti笔记

    activiti笔记 核心api api介绍 1.ProcessEngine 说明: 1) 在Activiti中最核心的类,其他的类都是由他而来. 2) 产生方式: ProcessEngine pro ...

  4. moviepy音视频剪辑VideoClip类set_position方法pos参数的使用方法及作用

    ☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑VideoClip类set_position方法用于多个剪辑合成一个剪辑时设置调用剪辑实例的拷贝在合成剪辑的位置. 调用语法: set ...

  5. PyQt(Python+Qt)学习随笔:QListWidget获取指定位置对应项的itemAt方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 itemAt方法根据参数给定位置返回列表部件中的项.对应语法如下: QListWidgetItem ...

  6. Codeforces Edu Round 51 A-D

    A. Vasya And Password 模拟题,将所缺的种类依次填入"出现次数$ >1 $"的位置,替换掉Ta即可. #include <iostream> ...

  7. Pandownload网页版复活

    不注册则每人每天5次机会,注册或邀请别人注册都可以获得30次额外的下载机会. 1.将百度云链接复制粘贴到解析,点击打开,等待解析. 2.获取链接成功后会跳转到下载界面,里面有详细的使用教程,自行查看 ...

  8. Linux下keepalived配置

    1.背景 节点1:192.168.12.35 节点2:192.168.12.36 2.keepalived安装 使用yum仓库安装keepalived [root@node01 ~]# yum ins ...

  9. Python开发:一个直播弹幕机器人诞生过程,自动发送弹幕

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬取B站弹幕视频讲解 https://www.bilibili.com/vide ...

  10. Scala中的IO操作及ArrayBuffer线程安全问题

    通过Scala对文件进行读写操作在实际业务中应用也比较多,这里介绍几种常用的方式,直接上代码: 1. 从文件中读取内容 object Main { def loadData(): Array[Stri ...