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的更多相关文章

  1. Can’t find file mysql/host.frm

    安装Mysql后报错: InnoDB: Apply batch completed 141115 15:04:36 InnoDB: Started; log sequence number 0 442 ...

  2. Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决

    大概需要4个步骤,其中第1步通过service mysql stop停止数据库,第4步通过service mysql start启动数据库. 第2步移动数据文件,不知道是否为Ubuntu智能的原因,移 ...

  3. web系列教程之php 与mysql 动态网站 。检索 与更新。

    接着上次WEb 系列开发之php 与mysql动态网站入门. 个人觉得,学习技术就像一棵大树,主干很重要,枝叶其次.对于学习技术,我们应该分清主次关系.怎么学?为什么要学?有一个较好的分寸. 有时候觉 ...

  4. mysql动态扩容调研

    MySQL动态扩容方案 目前可用方案 MySQL的复制: 一个Master数据库,多个Salve,然后利用MySQL的异步复制能力实现读写分离,这个方案目前应用比较广泛,这种技术对于以读为主的应用很有 ...

  5. PHP与MySQL动态网站开发2

    处理HTML表单 <input type="text" name="city"/> 通过$_REQUEST['city'];访问,$_REQUEST ...

  6. EntityFramework For Mysql 动态切换数据源

    1.简介 在工作中遇到一个问题.项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库.其实就是动态切换数据库连接. 2.EntityFramework For Mysql 先来简单的介 ...

  7. 使用MySQL的SELECT INTO OUTFILE ,Load data file,Mysql 大量数据快速导入导出

    使用MySQL的SELECT INTO OUTFILE .Load data file LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.当用户一前一后地使用SELECT ...

  8. MySQL动态字符串处理DYNAMIC_STRING

    MySQL中,常常会看到一些关于动态字符串的处理,列如:DYNAMIC_STRING. 为了记录动态字符串的实际长度,缓冲区的最大长度,以及每次字符串需要调整时,及时分配新的内存,以及调整长度.MyS ...

  9. mysql 动态新建以及删除分区表

    因为项目需要,最近研究了一下在mysql数据库下如何动态新建以及删除分区表.如果全部借助存储过程的话,新建以及删除分区表在逻辑上比较死板.不灵活,而且还容易出错.因此,我新建了一个数据表table_f ...

随机推荐

  1. poj1703Find them, Catch them(并查集以及路径压缩)

    /* 题目大意:有两个不同的黑帮,开始的时候不清楚每个人是属于哪个的! 执行两个操作 A a, b回答a, b两个人是否在同一帮派,或者不确定 D a, b表示a, b两个人不在同一个帮派 思路:利用 ...

  2. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  3. 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用

    在上篇<基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理>介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局.菜单等内容, ...

  4. 使用ab进行页面的压力测试

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 输入命令:ab - ...

  5. IOS开发-KVO

    一.什么是kvo? key-value observing,观察者模式 观察者,观察对象属性的变化,当被观察者该属性发生变化时,观察者会接收到通知,可以在回调函数中做相应的处理 二.有什么作用? 变化 ...

  6. nodejs操作mongodb

    一.下载地址 https://www.mongodb.com/download-center#community 二.控制台操作mongodb 1.安装完后添加环境变量. 2.在某个根目录下新建dat ...

  7. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  8. 五、BLE(下)

    1.1       GATT server Service 通过走读代码, GATT Server作为一个GATT service,我是没有发现其发挥了多大功能,其负责处理的消息GATT_SERVER ...

  9. 【转载】使用Lucene.NET实现数据检索功能

    1.索引的管理 //指定索引库文件存放文件位置 FSDirectory directory = FSDirectory.Open(new DirectoryInfo(this.IndexDataDir ...

  10. 解密 JavaScript 中的 this

    this的工作原理 如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象. var parent = {     method: function () {         conso ...