电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP網站提速三大“軟”招

瀏覽:116日期:2024-01-24 16:26:13
文/李鯤程隨著網絡的普及,網站已經滲透到了每個行業,但是由于目前專線費用讓很多企業和個人難以承受,所以共享帶寬成為很多網站的首選方案。費用雖然降低了但是一個新的問題很快就出現了,那就是共享帶寬的網速很慢,有時甚至讓人無法忍受。如何能讓自己的網站快起來,成為人們關心的問題,筆者結合親身實踐來講講軟辦法的一些實際應用,希望能夠對讀者有所幫助。;;筆者采用的是Linux操作系統,Apache+PHP的網站構建方法。代碼優化通常要求程序員要有好的編程習慣,盡量減少冗余代碼的出現,目前也有好多工具能夠完成這項功能,對于一般的html文件,用于減少冗余的減肥工具很多,而對于PHP程序來說這樣的工具就不太多了,但是Zend;Technologies的Zend;Optimizer是一款非常好的代碼優化工具,可以免費從Zend;Technologies的網站上獲得。Zend;Optimizer的使用方法也非常簡單,只要將下載的ZendOptimizer-1[1].0.0-PHP_4.0.4-;Linux_glibc21-i386.tar.gz文件解壓縮,將其中的ZendOptimizer.so文件拷貝到/usr/local/Zend/lib目錄下,然后修改php.ini文件,在最后添加以下幾行:PHP網站提速三大“軟”招顯示說明Zend;Optimizer工作正常zend_optimizer.optimization_level=15zend_extension='/usr/local/;Zend/lib/;ZendOptimizer.so'設置完成后重啟Apache服務器,編寫一段PHP程序:<?Phpinfo();?>一般來說Zend;Optimizer能將系統的效率提升30%~40%,這是用戶最關心的。壓縮頁面HTTP1.1協議支持頁面壓縮傳送,也就是說服務器把一個頁面壓縮傳送到客戶端,然后在客戶端將頁面解壓縮再顯示給客戶。在服務器端有兩種傳輸方式,一種是頁面事先已經壓縮好了,傳送時只要將壓縮頁面傳送到客戶端就行,這種適用于靜態網頁多的情況,但是對于大多數站點,動態頁面比較多,這種方法不太適合,因為很多傳到客戶端的頁面其實是沒有的,是服務器接到客戶端用戶請求動態產生的,所以就要求每生成一個動態頁面都要在傳到客戶端以前先打包壓縮。從PHP的4.0.4版以后,可以在php.ini文件中增加一行配置“output_handler;=;ob_gzhandler”,這樣每個動態生成的頁面在傳送到客戶端之前都會進行壓縮,但是根據PHP官方站點的說明,這個參數不能與“zlib.output_compression;=;on”參數同時使用,因為容易引起PHP工作不正常,另外它只能壓縮PHP程序的動態生成的頁面,對于大量的靜態頁面尤其是圖像文件就不行了。但是mod_gzip模塊為Apahe提供了將靜態頁面在傳給客戶端以前先壓縮的功能,它的壓縮比最大能到10,一般情況下可以到;3,也就是說網站的傳輸速率一下提高了三倍多。要想使用mod_gzip功能首先要下載mod_gzip.c或mod_gzip.so文件,如果下載的是.c文件還要用Apache帶的工具將它轉化為.so文件才能使用,方法是運行下面的命令:;-i;-a;mod_gzio.ccp;mod_foo.so/path/to/apache/libexec/mod_gzip.sochmod;755/path/to/apache/libexec/mod_foo.so系統會在/path/to/apache/;etc/httpd.conf中自動激活該模塊,如果下載的是.so文件則要將該文件拷貝到相應的目錄下,然后在httpd.conf文件中添加LoadModule;gzip_module;libexec/;mod_gzip.so,使模塊生效。需要注意兩點,第一,要想使用.so文件,Apache必須包含了mod_so模塊(可以通過httpd;-l命令來查詢該模塊是否生效);第二,如果下載的是.so文件,它是與Apache的版本有關的,要注意下載的版本與自己使用的Apache是否一致,如果是.c文件就沒有這個問題。模塊生效后還要對Apache進行相應的配置,需要在httpd.conf文件中加入一些參數:mod_gzip_on;Yes(模塊是否生效)mod_gzip_minimum_file_size;1002(最小壓縮文件大小)mod_gzip_maximum_file_size;0(最大壓縮文件大小,0表示沒有限制)mod_gzip_maximum_inmem_size;60000(最大可占用內存)mod_gzip_item_include;file;'..gif102SINA>DOUBLE_QUOTATION;(以gif結尾的文件要壓縮傳送)mod_gzip_item_include;file;'.txt102SINA>DOUBLE_QUOTATION;mod_gzip_item_include;file;'.html102SINA>DOUBLE_QUOTATION;mod_gzip_item_exclude;file;'.css102SINA>DOUBLE_QUOTATION;使用了壓縮模塊后,當用戶訪問站點時會在日志文件中記錄相應的信息,比如“mod_gzip;:OK;In:file_length;Out:gzipfile_length”,表示該頁面傳輸中使用了gzip功能,輸入文件、輸出文件大小都有說明。文件緩存這種方法通常是針對PHP、PERL等CGI程序而言的,因為這些程序有一個共同的特征就是接到用戶的請求后不是馬上將結果返回給用戶,而是經過解釋器解釋執行后將執行結果返回給客戶,這期間通常都要涉及到數據庫的訪問。這樣就會出現一個問題,當兩個用戶訪問同一個頁面時,系統將分別對兩個請求進行操作,但事實上這兩個操作可能是一模一樣的,這樣無形當中增加了系統的負擔。所以通常的解決辦法是在系統內存中開辟出一段空間,當用戶第一次訪問頁面后將執行結果存放在該內存中,當有用戶再一次訪問該頁面時,系統就將頁面直接從內存中調出而不需要重新解釋執行,這段內存空間就叫緩存。目前流行的緩存管理程序有兩個,一個是FastCGI,另一個是Zend;Technologies公司的Zend;Cache。FastCGI主要是針對Perl、C、C++等CGI腳本程序設計的,可以有效地利用內存作緩存,來自客戶端的請求都會被傳送到FastCGI應用服務程序,FastCGI處理用戶的請求后將結果返回給用戶。一般的CGI程序這時將結束進程自動退出,但是FastCGI進程繼續保持,這時它在接到新的用戶請求后不必建立新的進程,可以立即處理用戶請求,也就是說CGI程序建立進程順序執行然后退出,而FastCGI程序順序執行并永遠循環。PHP網站提速三大“軟”招Zend;Cache的管理界面要想使用FastCGI首先要把FastCGI編譯到Apache中,方法非常簡單,這里就不說明了,還要在http.conf文件里作設置:AddHandler;fastcgi-script;.fcg;.fcgi;.fpl;Options;ExecCGI;Indexes;Includes這樣FastCGI就可以正常工作了,下面是FastCGI程序員手冊中的一段例子程序:#!fcgi-savvy-perluse;FCGI;;#;初始化#;Initialization;code;=;0;#;Response;loopwhile;(FCGI::accept;>=;0);{;;#FastCGI建立循環體print;'Content-type:text/html;';;#程序執行print;'<head><title>FastCGI;Demo;Page;(perl)</title></head>;';print;'<h1>FastCGI;Demo;Page;(perl)</h1>;';print;'This;is;coming;from;a;FastCGI;server.;<BR>;';print;'Running;on;<EM>publish152.internal.sina.com.cn</EM>;to;<EM></EM><BR>;';++;print;'This;is;connection;number;';}FastCGI對Perl等CGI程序的功能非常強大,但是它對PHP程序確是無能為力的,而且需要在編程時增加內容,也就是說它需要一些人為的因素才能發揮作用。相比之下Zend;Technologies公司的Zend;Cache針對PHP的緩存功能是很強大的,只要安裝了該軟件,程序員就像編寫其他PHP程序一樣,不需要增加代碼,就可以實現緩存功能,有利于系統升級,十分方便。它是一個付費軟件。它有緩存功能并能通過圖形界面對其進行管理,其中:Cache;Control頁面,可以配置Zend;Cache,顯示其當前狀態,還能啟動和停止Zend;Cache功能;Scripts頁面,Zend;Cache的內容,包括每個文件的狀態,還可以根據點擊次數和緩存占有大小選擇文件;Benchmark頁面,可以測試Zend;Cache的緩存效果,并以圖形方式給出顯示,它測試的是每秒鐘完成PHP請求的次數。它的安裝、驗證方法與Zend;Optimizer基本相同,這里就不詳細說明了,感興趣的讀者可以參考用戶手冊,它的強大功能和便利的管理方法確實讓人心動。以上是網站提速常見的幾種方法,對于不同的網站需要采用不同的手段,所對應的提速方案也不盡相同,但總體上不外乎是以上提到的三招,讀者可以根據自己的實際情況具體問題具體分析。注意:考慮到客戶端軟件的復雜性,因為有些客戶端軟件可能不支持某些特性,比如,mod_gzip對頁面進行壓縮,但是如果客戶端使用的是Netscape就不行,因為它不能把接收到的壓縮頁面解壓縮,導致頁面不能正常顯示。
標簽: PHP
主站蜘蛛池模板: sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | 工业用品一站式采购平台|南创工品汇-官网|广州南创 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 永嘉县奥阳陶瓷阀门有限公司| 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 |