一:页面静态化
几个概念:
静态网址:(比如:http://localhost/abc.html)
特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问速度快 3:防止sql注入
http://localhost/index.php?u=123&p=/*2323*/
动态网址:(比如:http://localhost/news.php?id=112 即访问的是一个php页面,可以传递参数)
特点:1:不利于SEO;2:访问速度慢;3:有被注入sql可能;
伪静态网址:
在实际开发中,我们希望达到这样的目的:
http://localhost/news.php?lang=cn&class=2
把上面的网址修改成下面的网址:
http://localhost/news-cn-class.html ----->伪静态网址
特点:1:利于seo2:防止注入 3:他仍然要访问数据库,速度没有变化
页面静态化的分类:
从方式看:1:真静态2:伪静态
从范围看:1:全局静态 2:局部静态化(实际中用的最多)[ajax+jquery]
介绍一款压力测试的工具ab.exe apache/bin/ab.exe
*如何使用ab工具(可以测试自己的网站并发量大小,和某个页面的访问时间)
在cmd控制台下
ab.exe –n 访问的总次数 –c 有多少人访问(并发量) 访问的页面url
举例说明:
ab.exe –n 10000 –c 100 http://localhost/1230test/newfile.php
当我们把 –c 调整到1000时,发现apache瘫痪.
如何调整apache的最大并发量.
MPM (多路处理模块, 即 apache采用怎样的方式来处理并发.), 主要有三种方式:
- perfork 预处理进程方式
- worker 工作模式
- winnt 这个一般说是windows采用的
原理示意图:
如何设置我们的apache的最大并发数 ,步骤如下:
(1) 在httpd.conf 文件中 修改
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
(2) 确定当前的apahce是什么MPM模式
进入到 apache/bin
httpd.exe –l
说明: 看 mpm_xxx.c 如果xxx是 winnt 说明是winnt ,另外还可能是 perfork 或者 worker
(3) 修改httpd-mpm.conf 文件.
<IfModule mpm_winnt_module>
ThreadsPerChild 1000
MaxRequestsPerChild 0
</IfModule>
(4) 重启apahce ,测试
在linux下,一般说采用的MPM是 perfork模式,我们看看如何配置.
<IfModule mpm_prefork_module>
StartServers 5 #预先启动进程(预先开5个进程)
MinSpareServers 5 #最小空闲进程(即使没有请求,还是要保证有5个进程)
MaxSpareServers 10 #最大空闲进程(请求大于10时会杀死多余进程剩余10个)
MaxClients 150 #并发量(最大两三千吧)
MaxRequestsPerChild 0 #一个进程对应的线程数,对 worker更有用.(0:无限制)
</IfModule>
给大家一个合理的建议配置. 对大部分网站,中型网站,配置:
<IfModule mpm_prefork_module>
StartServers 5 #预先启动
MinSpareServers 5
MaxSpareServers 10 #最大空闲进程
ServerLimit 1500 #用于修改apache编程参数
MaxClients 1000 #最大并发数
MaxRequestsPerChild 0
</IfModule>
如果你的网站pv值 百万
ServerLimit
2500 #用于修改apache编程参数
MaxClients 2000 #最大并发数
*如果在大的话,上千万,紧靠一个apache 就不够了,就要使用nginx(反向代理)或者其他的负载均衡的方法
最后有一个关于html和php的访问效率图 :
分享一下页面seo技巧:
*meta中的keywords有3--5个即可,太多有可能会被K站或者被视为作弊;
*如果一个图片希望被百度到
<img alt=’小狗’ src=’’/>
在网站前台,我们建议 不要使用frame框架,不利用seo
如果我们给图片或者视频取名字,尽量简短.