- 6
- 0
- 约2.48万字
- 约 16页
- 2019-06-13 发布于江苏
- 举报
第 5 章 PHP 的缓存与静态化应用
前面已经介绍了许多PHP 应用的例子,这些例子无一例外是通过访问PHP 脚本文件来完成的。用
户每次从浏览器端的访问都是对 PHP 脚本的执行过程,程序根据用户的需要返回信息。对于一些大型
系统,访问量往往很大,频繁的动态操作与数据库操作大大加重了服务器的负担。
在这种情况下,通常使用缓存技术或者静态化操作。也就是将 PHP 脚本的页面结果放到缓存中,
或者放到静态HTML 文件中。这样,访问者在访问页面时,不需要重新执行动态PHP 代码即可获得结
果,大大缓解了服务器的负担。本章将介绍缓存机制与静态化的原理,以及使用 PHP 实现静态化的方
法。
5.1 为什么要静态化
在实际应用中,静态化所得到页面结果与通过直接访问PHP 页面所得到的页面结果一般完全相同。
也就是说,查看静态化后的页面并不会对页面中的内容、布局造成影响。静态化的主要目的就是提高页
面访问的性能。除此之外,将页面静态化可以方便的储存信息,在本地查看页面的时候不需要架设服务
器、数据库等。
那么,静态化对于提高性能有什么好处呢?这里首先介绍一个用于测试性能的工具——Apache
Benchmarking Tool 。该工具是Apache 服务器提供的一个模拟多用户访问的命令行测量工具,通过对访
问地址页面的访问计算出用户的响应时间。Apache Benchmarking Tool 的可执行文件在Apache 的安装目
录下的bin 文件夹,文件名为ab.exe,语法格式如下所示。
ab [options] [http[s]://]hostname[:port]/path
其中,option 指的是参数。常用的参数有以下两种。
-n :执行访问的次数。
-c :同时并发用户的数目。
对于更多的参数信息,可以通过直接执行ab.exe 来获得。
hostname 是主机的地址,port 是端口号,path 是访问路径。
以下代码通过一个循环结构来比较PHP 脚本与HTML 静态页面的性能。
?php
for($i=0;$i100;$i++)
{
echo $i;
}
?
静态HTML 代码如下所示。
01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484
95051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
949596979899
可以看出,这两个文件在浏览器上的输出结果是相同的。然后在命令行上执行 ab 命令分别测试这
·408 · PHP 开发大全
两个页面的性能。测试参数采用对页面访问10000 次,并且有10 个并发用户同时访问。
对于PHP 脚本文件的测试结果如下所示。
C:\apache\binab -n 10000 -c 10 http://localhost/test/test.p
hp
This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, /
Copyright 1997-2005 The Apache Software Foundation, /
Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
您可能关注的文档
- 2009年山西省特岗教师考试《中学生物》真题及答案.pdf
- 工业工程师必看的一些书籍.pdf
- LinuxMTD下获取Nandflash各个参数的过程的详细.pdf
- 城市居民生活用水量标准条文说明.pdf
- 《人感染H7N9禽流感病例诊断程序》.pdf
- 广州话动词“够”的语法化和主观化.pdf
- 2011年高考试题——数学文(新课标卷)解析版.pdf
- 2013年考研高数总结.pdf
- 2006年保荐人尽职调查工作准则.pdf
- 2016年银行业专业人员职业资格考试串讲资料2017年个人贷款笔记小抄2018年银行从业重点讲义资料2019年.pdf
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)