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. px 与 dp, sp换算公式?

    PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0. ...

  2. HTML学习目录

    前面的话 HTML被认为是前端知识体系里面最简单的知识,几年前,很多人都推荐在W3C上学习个几天就能够基本掌握.但随着HTML5和移动端的强势发展,HTML的技能点也越来越难.世上无难事,好学好总结. ...

  3. Android开发之网络

    很多初学Android开发的人员对网络这一点感觉很高大上,现在我就和大家分享一下我的学习心得. 就目前的Android手机来说,可能存在5种网络状态: ----无网络(这种状态可能是因为手机停机,网络 ...

  4. CentOS 7.1 Bridge启用STP报错"Master connection not found or invalid"

    今天在公司测试Linux bridge搭建,为了使内部docker容器的网络能够不经过2层封装转发对外公布,顾试用一下bridge功能,结果碰到报错:"Bringing up interfa ...

  5. (高德地图)marker定位 bug 解决总结

    项目背景: 一个项目bug,项目中用到高德地图,默认打开页面会生成一个marker(下图红色icon),然后用户拖动marker到想要的位置,并且保存. 用户反映定位不准确,在当前页面编辑的位置,到后 ...

  6. 使用Weka进行数据挖掘

    1.简介 数据挖掘.机器学习这些字眼,在一些人看来,是门槛很高的东西.诚然,如果做算法实现甚至算法优化,确实需要很多背景知识.但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西.他们的精力,集 ...

  7. 漫谈可视化Prefuse(六)---改动源码定制边粗细

    可视化一路走来,体会很多:博客一路写来,收获颇丰:代码一路码来,思路越来越清晰.终究还是明白了一句古话:纸上得来终觉浅,绝知此事要躬行. 跌跌撞撞整合了个可视化小tool,零零碎碎结交了众多的志同道合 ...

  8. java中遇到过的String的一些特性

    1.string对象是final的? String str="asdfdf"; str.replace("as",""); System.o ...

  9. ehcache报错

    jfinal2.0+tomcat7+ehcache2.6.11+Linux Linux version 2.6.18-164.el5 (mockbuild@x86-002.build.bos.redh ...

  10. JAVA 设计模式 解释器模式

    用途 解释器模式 (Interpreter) 定义一个语言,定义它的文法的一种表示. 并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 解释器模式是一种行为型模式. 结构