发测试 HTML/FILE/MYSQL/动态 20151120
NilCMS几种页面输出方式:
1.直接生成html。不进行php处理。
2.生成文件缓存。针对于URL中单个目录文件过多,不利于管理。只进行PHP处理,不连接mysql。
3.生成mysql缓存。数据保存在mysql中,不生成任何文件。进行PHP处理,连接mysql,只进行一次读取操作。
测试代码:
boom.exe -n 2000 -c 100 http://url....
测试环境:
windows 7,apache 2.1.17,php 5.4.45,mysql 5.6.27.
并发测试结果:
第一种方式:直接生成html
Summary:
Total: 1.4317 secs.
Slowest: 0.1410 secs.
Fastest: 0.0060 secs.
Average: 0.0698 secs.
Requests/sec: 1396.9592 第二种方式:生成文件缓存
Summary:
Total: 4.2352 secs.
Slowest: 0.3400 secs.
Fastest: 0.0090 secs.
Average: 0.2068 secs.
Requests/sec: 472.2280 第三种方式:生成mysql缓存
Summary:
Total: 7.0926 secs.
Slowest: 0.8921 secs.
Fastest: 0.0320 secs.
Average: 0.3477 secs.
Requests/sec: 281.9839 //http://www.cnblogs.com/osfipin/
三种其他方式的输出相同内容的比较:
PHP单文件直接echo输出:
Summary:
Total: 1.4597 secs.
Slowest: 0.1340 secs.
Fastest: 0.0180 secs.
Average: 0.0703 secs.
Requests/sec: 1370.1609 使用CodeIgniter 3.0.2输出
Summary:
Total: 19.3377 secs.
Slowest: 1.4921 secs.
Fastest: 0.0760 secs.
Average: 0.9434 secs.
Requests/sec: 103.4249 使用ThinkPHP3.2.3 部署模式输出
Summary:
Total: 14.9635 secs.
Slowest: 1.1731 secs.
Fastest: 0.0320 secs.
Average: 0.7336 secs.
Requests/sec: 133.6590
先记录下来,用于后期优化代码。
以上测试 PHP没有配置任何的缓存插件如:apc opcache等。一下测试加了opcache用于比较缓存方式:
第二种方式:生成文件缓存
Summary:
Total: 2.6918 secs.
Slowest: 0.2270 secs.
Fastest: 0.0130 secs.
Average: 0.1313 secs.
Requests/sec: 743.0102 第三种方式:生成mysql缓存
Summary:
Total: 4.8329 secs.
Slowest: 0.6840 secs.
Fastest: 0.0280 secs.
Average: 0.2368 secs.
Requests/sec: 413.8323
1.文件缓存方式由472提升至743。
2.mysql缓存由281提升至413。
发测试 HTML/FILE/MYSQL/动态 20151120的更多相关文章
- Can’t find file mysql/host.frm
安装Mysql后报错: InnoDB: Apply batch completed 141115 15:04:36 InnoDB: Started; log sequence number 0 442 ...
- Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决
大概需要4个步骤,其中第1步通过service mysql stop停止数据库,第4步通过service mysql start启动数据库. 第2步移动数据文件,不知道是否为Ubuntu智能的原因,移 ...
- web系列教程之php 与mysql 动态网站 。检索 与更新。
接着上次WEb 系列开发之php 与mysql动态网站入门. 个人觉得,学习技术就像一棵大树,主干很重要,枝叶其次.对于学习技术,我们应该分清主次关系.怎么学?为什么要学?有一个较好的分寸. 有时候觉 ...
- mysql动态扩容调研
MySQL动态扩容方案 目前可用方案 MySQL的复制: 一个Master数据库,多个Salve,然后利用MySQL的异步复制能力实现读写分离,这个方案目前应用比较广泛,这种技术对于以读为主的应用很有 ...
- PHP与MySQL动态网站开发2
处理HTML表单 <input type="text" name="city"/> 通过$_REQUEST['city'];访问,$_REQUEST ...
- EntityFramework For Mysql 动态切换数据源
1.简介 在工作中遇到一个问题.项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库.其实就是动态切换数据库连接. 2.EntityFramework For Mysql 先来简单的介 ...
- 使用MySQL的SELECT INTO OUTFILE ,Load data file,Mysql 大量数据快速导入导出
使用MySQL的SELECT INTO OUTFILE .Load data file LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.当用户一前一后地使用SELECT ...
- MySQL动态字符串处理DYNAMIC_STRING
MySQL中,常常会看到一些关于动态字符串的处理,列如:DYNAMIC_STRING. 为了记录动态字符串的实际长度,缓冲区的最大长度,以及每次字符串需要调整时,及时分配新的内存,以及调整长度.MyS ...
- mysql 动态新建以及删除分区表
因为项目需要,最近研究了一下在mysql数据库下如何动态新建以及删除分区表.如果全部借助存储过程的话,新建以及删除分区表在逻辑上比较死板.不灵活,而且还容易出错.因此,我新建了一个数据表table_f ...
随机推荐
- Java多线程系列--“JUC线程池”05之 线程池原理(四)
概要 本章介绍线程池的拒绝策略.内容包括:拒绝策略介绍拒绝策略对比和示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html 拒绝策略 ...
- Unity 3D制作2D游戏的几种方法
1.使用本身UGUI. 2.把摄像机的投影改为正交投影,不考虑Z轴. 3.使用Untiy自身的2D模式. 4.使用2D TooKit插件.
- AngularJS in Action读书笔记4(实战篇)——创建Statistic模块
个人感觉<Angularjs in action>这本书写的很好,很流畅,循序渐进,深入浅出,关键是结合了一个托管于Github上的实例讲解的,有代码可查,对于初学者应该是个不错的途径.( ...
- web前端学习笔记(CSS盒子的浮动)
在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同. CSS中有一个float属性 ...
- SQLServer学习笔记系列10
一.写在前面的话 生活的路很长,还是要坚持走下去,自己选择的生活,就该让这样的生活放射精彩!我不奢求现在的积累,在将来能够收获多少,至少在以后的日子里回忆起来,我不曾放弃过,我坚持过,我不后悔!最近跟 ...
- 新人学习Android开发遇到的小问题总结
1. IDE搭建: 搭建android的IDE时,先注意是什么版本的系统,64/32位系统. 通常使用的是Eclipse for android,Android Studio由于还需要FQ,网速慢,所 ...
- T-SQL---多值模糊查询的处理
多值模糊查询的处理 所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理 对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处 ...
- CSS3点点滴滴
css查遗补漏 标签(空格分隔): css 如果值为若干单词,则要给值加引号.p {font-family: "sans serif";} body的字体有继承兼容性问题,通常这么 ...
- 分享使用Entity Framework的一个坑:Include无效
如果不想延迟加载,可以通过设置:context.Configuration.LazyLoadingEnabled = false;或查询时加上AsNoTracking()方法即可. 如果不想生成代理, ...
- 地图定位IOS8之后的定位
从ios8开始,苹果进一步加强了对用户隐私的保护. 当app想要访问用户的隐私信息时 系统不再自动弹出一个对话框让用户授权 解决方法: (1)调用ios8.0的API 主动请求用户授权 - (voi ...