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. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  2. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  3. Prim算法(三)之 Java详解

    前面分别通过C和C++实现了普里姆,本文介绍普里姆的Java实现. 目录 1. 普里姆算法介绍 2. 普里姆算法图解 3. 普里姆算法的代码说明 4. 普里姆算法的源码 转载请注明出处:http:// ...

  4. HTML5移动Web开发(七)——通过界面图标启动Web应用

    现在我们要使用手机上某个应用时,通过点击屏幕上的图标就可以运行.但是对基于HTML的Web应用来说,运行起来就比较麻烦了,用户必须先打开浏览器,然后访问想使用的应用程序站点.现在我们想把一个指定的We ...

  5. win7+theano with GPU enabled

    要做卷积神经网络的一些东西,所以要装theano,网上很多Theano安装教程版本较老,而各安装包更新很快,参考价值有限.走了很多弯路才装好,把这个过程记录下来,希望对大家有帮助~ ~ 我的配置:wi ...

  6. 六、GAIA

    1.      GAIA CSR GAIA (Generic Application Interface Architecture)提供了一个端到端的,与主机无关的生态系统来实现主机应用程序对设备的功 ...

  7. 一道java算法题分析

    最近在面试中遇到这样的一道算法题:       求100!的结果的各位数之和为多少?       如:5!=5*4*3*2*1=120,那么他们的和为1+2+0=3这道题不算难,不过倒是注意的细节也有 ...

  8. .NET中类(class)与结构(struct)

    结构是值类型:值类型在栈上分配空间:  类是引用类型:引用类型在堆栈上分配空间:  虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object:  虽然 ...

  9. java的if else语句入门

    条件语句,是程序中根据条件是否成立进行选择执行的一类语句,这类语句在实际使用中,难点在于如何准确的抽象条件.例如实现程序登录功能时,如果用户名和密码正确,则进入系统,否则弹出“密码错误”这样的提示框等 ...

  10. ASP.NET MVC 请求流程:Route

    1.RouteTable RouteTable翻译过来的意思就是路由表,一个Web应用程序具有一个全局的路由表,该路由表通过System.Web.Routiing.RouteTable的静态只读属性R ...