




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、页面静态化技术第 1 章大型和他 11.1判断大型的标准..41.1.5大型..4Pv(page views)1IP1UV1同时人数1数据库(表)大小 T1以及常用的解决方案1架构使用分层结构,同时使用服务器集群1Web 吞吐瓶颈的其它解决方法2数据库瓶颈其它解决方法2使用缓存技术31.2第 22.12.2页面静态化技术4页面静态化的基本原理4几个重要概念4章.22.2.3静态4址5伪静态52.3页面静态化的分类.2测试.22.4.3从形式看5从范围看6效率的工具 AB.EX
2、E6基本用法6快速入门6如何调整最大并发数62.4 如何确定你的 apache 是使用什么 mpm7一些 SEO 的小建议92.5第 第 44.14.2页面静态化具体实现12的缓存机制12章关于在服务器的缓存机制的小结12看看 OB 缓存的几个函数12管理系统15界面设计15数据库设计15章4.34.4程序框架图15实现阶段16第 1 章判断大型大型和他1.1的标准1.1.1Pv(page views)Page view 就是页面: 一个在一天内,所有页面被浏览的次数综合.,上千万的pv 值,百万级的也勉强可以算.1.1.2IP一天内,有多少个独立IP 来, 一般说 10
3、万以上.1.1.3UVUv(unique visitor)独立访客.1.1.4同时人数同时人数超过 1 万=并发1.1.5数据库(表)大小 T表上T 就算是一个大表1.2大型以及常用的解决方案1.2.1架构使用分层结构,同时使用服务器集群1.2.2Web 吞吐瓶颈的其它解决方法对数据进行压缩传输. Gzip 来压缩, 这里可以通过配置apache 解决这个问题,这个后面会演示.尽量合理的优化的大小., jpg,gif, 尽量使用背景图, 尽量使用小图.买带宽(花钱 ) 1*2m*3000000*60=36000001.2.3数据库瓶颈其它解决方法表的设计要合理, 符号 3NF, 为了防止数据冗
4、余创建适当索引(主键索引|唯一索引|普通索引|全文索引|空间索引)创建使用的过程和触发器,视图优化my.ini 配置 insert优化本身sql 语句o 表名 values(,) values(“,”);分表技术(把一个海量表分成几个小表, 水平分割,垂直分割)硬件和升级(64 位,使用 64)1.2.4使用缓存技术因为程序的执行速度 内存文件数据库 ,如果可以减少对数据库的访问,这样对的负载有提高, 分 文件缓存, 内存缓存页面静态化Memcached 缓存技术(Redis)第 2 章页面静态化技术技术在什么地方使用传统的方法解决不方便基本原理(基本用法)快速入门案例看细节(使用陷阱,怎样使
5、用在是正确)实际案例项目2.1页面静态化的基本原理看一个实际的案例:2.2几个重要概念2.2.1:静态比如:就是静态.特点: 1. 不操作数据库,因此速度快 2. 不接收参数,因此安全性比较高,放在sql 注入loginAction.?Extarac($_GET);$id=isset($id)& is_numeric($id)? $id:0; If($id=0)Die(参数有误);/对$id 要验证. 1. 正则表达式(重点) 如何验证 id 必须是一个整数,不能以 0 开头/1-9d*$/2. is_函数. 这里我在强调一把,对sql 语句一定有过滤机制Union load_file out
6、file sleep benark表名 where id=$id”;$sql=”selectpwd,uname3. 利于 SEOfrom2.2.2址比如特点: 1.一般说,会操作数据库, 速度慢注意 3. 不利于seo2. 接收参数,所以有安全性问题,注意sql2.2.3伪静态比如 :们希望这个&class=sport&id=2在实际开发中,我是这样形式 HYPERLINK http:/l-sport-id2.html/ http:/l-sport-id2.html特点 1. 形式是是静态收参数,安全性较高 3.,但是实际是对应一个动态地址,因此速度慢 2. 不接利于seo2.3页面静态化的分
7、类2.3.1从形式看真静态 , 把一个动态的页面实实在在的对应一个静态页面伪静态 ,形式是是静态,但是实际是对应一个动态地址2.3.2从范围看全局静态, 这个页面都是静态的局部静态, 实现方法(1. 2. 使用 jquery 发出ajax 请求,然后服务器可以返回json, xml , 文本,然后浏览器得到数据后,在填充适当位置)2.4测试效率的工具 ab.exe作用就是,可以测试页面响应速度的工具,同时可以测试最大并发人数,这里可以讲解 如何配置apache 最大并发数, MPM 是什么?2.4.1基本用法cmdab.exe n 请求次数 c 并发数 页面的请求地址url2.4.2快速入门2
8、.4.3如何调整最大并发数默认情况下,apache 最大并发是 150.步骤调整最大并发值, 首先确定当前的apache 使用什么 MPMMpm(多路处理模块), 通俗的说: apache 处理并发请求的方式., 了解.Perfork 原理说明:prefork 的工作原理是, 控制进程在最初建立“StartServers”个子进程后,为了满足 MinSpareServers 设置的需要创建一个进程,等待一秒钟,继续创建两 个,再等待一秒钟,继续创建四个如此按指数级增加创建的进程数,最多达到每秒 32 个,直到满足 MinSpareServers 设置的值为止。这就是预 派生(prefork)的
9、由来.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。Worker 原理说明:worker 的工作原理是, 由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的 ThreadsPerChild 线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads 和 MaxSpareThreads 设置了最少和最 多的空闲线程数;而 MaxC nts 设置了所有子进程中的线程总数.如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。 如何确定你的apache 是使用什么mpmcmdhttpd.exe
10、l说明: 参看 mpm_.c 这里的就是你的 mpm 方式. 修改httpd.conf 文件.# Servool management (MPM specific)Include conf/extra/httpd-mpm.conf 修改httpd-mpm.conf 文件这里,修改成并发 1000ThreadsPerChild MaxRequestsPerChild这里,请各位注意, 你的机器能否是说一定就可以并发 100010000并发到 1000, 还有取决于你的机器的cup ,内存,不 重启apache,测试 800 并发ok? 如何配置的并发值,比较好 ,我给一个参数, 如果中型,建议给
11、的 1500-2500 间.ThreadsPerChild MaxRequestsPerChild20001000Linux 下配置参考值:因为在 linux 下,一般说采用的 MPM 是 perfork 模式,看看如何配置.StartServers MinSpareServers MaxSpareServers MaxCnts MaxRequestsPerChild55101500#并发量#一个进程对应的线程数,对 worker 更用.给大家一个合理的建议配置. 对大部分,中型,配置:StartServers MinSpareServers MaxSpareServers ServerLim
12、itMaxCnts5#预先启动51025002000#最大空闲进程#用于修改apache 编程参数#最大并发数MaxRequestsPerChild 500最佳: 首先计算的内存占用 一个并发 200k*并发数=总内存-必须占用内存.课后练习 关于ab.exe 程序的其它使用方法可以参考手册2.5一些 seo 的小建议:1.2.3.url 长度不要超过 255静态页面不要给参数. meta 信息.name=description content=培训,下载,4.5.如果希望被抓取前端页面不要使用框架 frame framesetseo.到时第 3 章页面静态化具体实现实现页面静态化有两种方法
13、1. 使用的ob 缓存机制 2. 使用模板来实现.3.1看一段代码:的缓存机制3.21.2.关于在服务器的缓存机制的小结在服务器端有程序缓存,这个缓存必须有,程序员不能关闭.服务器端可以开启 ob 缓存,有两个方法 * 通过 ob_start() 开启,页面生效 * 可以在.ini 的配置文件中启用ob;打开ob 缓存output_buffering = 4096只在当前3.如果你没有打开ob 缓存,echo 数据直接放入到程序缓存,如果你打开,就先把echo 数据放入ob 缓存.4.执行到最后时,系统把 ob 数据刷新到程序缓存,然后交给当的apache,并组成成http 响应包,发送给浏览
14、器3.3看看 ob 缓存的几个函数看程序 ob1.Ob2.第 4 章管理系统系统开发流程需求分析(需求分析师)-设计阶段(项目经理,架构师,设计文档 ) 实现阶段( 程序员码农)测试阶段( 测试工程师)实施阶段( 实施工程师)阶段(), 使用原型开发4.1界面设计4.2数据库设计表:create table news(idunsigned primary key auto_increment, /*/title varchar(128) not null,/*标题*/ content varchar(256) not null,/*内容*/filename varchar(32) /*该对应的
15、静态页面*/ engine=MyISAM charset utf8;测试数据insertinserts (title,content) values(s (title,content) values(o1,o2,你好);你好);4.3程序框架图画出有多个个文件,文件之间调用关系是什么?4.4实现阶段代码 到此基本写好,分析问题. 每次 查看某个信息,都会去查询数据库,需要页面静态化。 这里使用到ob 实现页面静态化。代码这里newsList.showNews.对程序思考: 发现问题1.2.总是要一个人去数据库的,可以这样解决,如果修改了,根据目前的代码是看不到我可以给静态文件设置一个有效时间
16、30s, 每 30s 就让代码自动去更新静态页面, 这里通过增加下面一个条件,就解决问题的但是不满意,所以想一个更好的方法.:在管理员添加,修改,删除某个时,就直接修改对应的静态页面,这样处理更好,这里会使用模板替换技术-修改程序框架图整理代码:newsList.addNews.html添加newion.,显示.处理添加,修改,删除模板文件 news.tmp对程序再思考1.在创建静态页面的时候,使用分目录来存放,年/月日/静态页面, 怎么把这个的静态页面名包括路径下来.2. 思路 分析示意图给大家.首页面静态化来实现一下:整理代码:前端全部是静态页,全部是静态生成!:login.html 登录
17、界面,自己写loginAction.manage.验证用户.管理页面addNews.htmlnewion.处理.news.tmp 模板文件没有变化 ,newsList.页面,用于生成index.html说明: 在cms 系统, 将来模板会复杂些,但是整体的流程是这样的.4.5真静态的优缺点分析优点: 1. 利于seo 2. 生成一个静态页,因此不用查询数据库,速度快. 3. 不接受参数,安全性高.缺点: 如果数据库信息海量,那样就会生成海量的静态页面,占用大量的磁盘空间。大家可以通过分目录存放来解决查找静态页速度慢.哪些不适宜使用真静态.1.2.如果网页数据变化非常频繁, 不要使用真静态. 比如: 基金 ,黄金报价.如果数据库信息海量,同时你生成静态页后,查看静态页次数很少,比如 电信,移动的话费查询系统. , 不要使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绩效提升合同范本
- 产品分期买卖协议(14篇)
- 商品房过户合同协议
- 商场商铺出租合同协议
- 正聘用合同协议
- 商场快餐分租合同协议
- 微商水果供货合同协议
- 商业终止合同协议书模板
- 武馆合伙人协议合同协议
- 和酒店订购合同协议
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 第一章-地震工程学概论
- 2023年云南师范大学实验中学招聘考试真题
- 校友管理系统答辩
- 医院耗材管理制度耗材
- TSGD7002-2023-压力管道元件型式试验规则
- 220kV变电站技术培训方案
- 2025年软件资格考试信息系统运行管理员(初级)(基础知识、应用技术)合卷试卷及答案指导
- 购房购房合同
- 《天润乳业公司的存货管理问题及完善对策8500字》
- 神经重症气管切开患者气道功能康复与管理专家共识(2024)解读
评论
0/150
提交评论