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. [C] 关于表达式求值

    结论是:在一个表达式中,如果两个相邻操作符的执行顺序由它们的优先级决定,如果它们的优先级相同,它们的执行顺序由它们的结合性决定.若出现前述规则描述之外的情形,编译器可以自由决定求值的顺序(只要不违反逗 ...

  2. [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

    <Windows Azure Platform 系列文章目录> 注意:如果使用Azure Virtual Machine,虚拟机所在的存储账号建议使用Local Redundant.不建议 ...

  3. velocity分页模板

    以前用后台java拼接分页代码,不利于修改.找到一份velocity模板. <!-- 分页模板 --> #macro(pager $url $pager) <url class=&q ...

  4. 20个设计精致的用户界面 PSD 源文件免费下载

    今天这篇文章收集了20个新鲜出炉的用户界面 PSD 源文件素材,你可以免费下载使用.这些免费素材不仅能帮助设计师们节省大量的时间,而且能有很好的效果.感谢那些很有才华的设计师分享它们的劳动成果,让更多 ...

  5. 【数据压缩】LZ77算法原理及实现

    1. 引言 LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Jacob Ziv与Abraham Lempel在1977年发表的论文<A Universal Algorithm for ...

  6. placeholder的兼容处理(jQuery下)

    这是一个老问题,结合前辈们的经验,需要处理的问题有一下几个. 1.只有输入框(input/textarea)下的palaceholder属性存在的时候才需要处理这类兼容 2.处理好输入框上焦点和是焦点 ...

  7. nodejs中exports与module.exports的实践

    只要是在nodejs中写自己的文件模块就少不了会遇到module.exports和exports的使用,看别人的代码大多都会使用“module.exports=exports=<对象/函数等&g ...

  8. js隐藏或显示某区域

    隐藏: document.getElementById(“keleyi”).style.display = “none”; 显示: document.getElementById(“keleyi”). ...

  9. Asp.net中使用Server.HtmlDecode(string str)的使用

    前言: 在使用Visual Studio开发web页面时,需要在GridView中绑定Table数据,并加入了CommandField, 试图,点击详情按钮是,获取GridView中Rows中Cell ...

  10. Winform控件重写

    Winform控件重写 因为最近的项目中越来越多的遇到了比较特殊的一些控件,有时候我们自己封装一下可能更加方便我们的使用,下面是我们项目中用到的,简单做一个记录. TextBox控件重写 主要的控制代 ...