一:頁面靜態化php
幾個概念:html
靜態網址:(好比:http://localhost/abc.html)jquery
特色:1.利用seo(search engine optimization) 搜索引擎優化;2:訪問速度快 3:防止sql注入linux
http://localhost/index.php?u=123&p=/*2323*/nginx
動態網址:(好比:http://localhost/news.php?id=112 即訪問的是一個php頁面,能夠傳遞參數)ajax
特色:1:不利於SEO;2:訪問速度慢;3:有被注入sql可能;sql
僞靜態網址:數據庫
在實際開發中,咱們但願達到這樣的目的:apache
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採用怎樣的方式來處理併發.), 主要有三種方式:
原理示意圖:
如何設置咱們的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
若是咱們給圖片或者視頻取名字,儘可能簡短.