偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

讓PHP引擎全速運(yùn)轉(zhuǎn)的三個(gè)絕招

開(kāi)發(fā) 后端
作為流行的 Web 編程語(yǔ)言, PHP的最大優(yōu)勢(shì)就是速度。如果你的應(yīng)用負(fù)荷很大,而帶寬又比較小,或者有其他的瓶頸影響你的服務(wù)器性能,那么,你不妨試試筆者為你開(kāi)出的幾個(gè)藥方,看看是否靈驗(yàn)。

作為流行的 Web 編程語(yǔ)言, PHP 的最大優(yōu)勢(shì)就是速度。 PHP已經(jīng)在這方面做的非常好了,你幾乎找不到比它更快的腳本編程語(yǔ)言了。但是如果你的應(yīng)用負(fù)荷很大,而帶寬又比較小,或者有其他的瓶頸影響你的服務(wù)器性能,那么,你不妨試試筆者為你開(kāi)出的幾個(gè)藥方,看看是否靈驗(yàn)。

一、代碼優(yōu)化

一談到代碼優(yōu)化,或許你想到的就是整齊明了的代碼,但是本文的意思卻不是在此,因?yàn)槿绻獙で笏俣鹊脑?,就要?duì)PHP 源碼作相應(yīng)的調(diào)整。一般說(shuō)來(lái)就是去掉多余的注釋,讓代碼不可讀。但是這對(duì)于一個(gè)具有良好素養(yǎng)的程序員來(lái)說(shuō),簡(jiǎn)直就是不可思議的。好在Zend Technologies 公司發(fā)布了Zend 優(yōu)化引擎可以幫助你做到這一點(diǎn)。它現(xiàn)在是免費(fèi)的,但是你必須遵循 Zend Optimizer 許可。這個(gè)產(chǎn)品可以對(duì)引擎產(chǎn)生的中間代碼進(jìn)行優(yōu)化。

安裝這個(gè)引擎比較簡(jiǎn)單,下載對(duì)應(yīng)平臺(tái)的版本以后,解開(kāi)壓縮文件,然后在 php.ini 文件里面加上下面兩行,重新啟動(dòng) Web 服務(wù)器,就搞定了。

zend_optimizer.optimization_level=15 

zend_extension="/path/to/ZendOptimizer.so" 

zend_loader.enable=Off 

如果是 Win32 平臺(tái)的應(yīng)該是:

zend_optimizer.optimization_level=15 

zend_extension_ts="C:\\path\\to\\ZendOptimizer.dll" 

zend_loader.enable=Off 

其實(shí)第三行是可選的。因?yàn)榭雌饋?lái)把 zend_loader 關(guān)掉能提高一點(diǎn)速度,因此值得把這第三行放到 php.ini 。需要注意的是,關(guān)掉的前提條件是你沒(méi)有在使用 Zend 加密程序。

二、緩沖

如果想要更進(jìn)一步提升速度,我們就需要考慮采用緩沖技術(shù)了。有一些可選的解決方案,包括 Zend Cache (測(cè)試版本), APC, 以及 Afterburner Cache,另外還有 jpCache 等。

以上這些都是屬于緩沖模塊,他們把第一次對(duì) .php 文件請(qǐng)求產(chǎn)生的中間代碼存儲(chǔ)在 Web 服務(wù)器的內(nèi)存中,然后對(duì)以后的請(qǐng)求返回“編譯好”的版本。因?yàn)檫@樣減少了磁盤(pán)讀寫(xiě),而且都在內(nèi)存工作,所以這個(gè)過(guò)程能顯著提升應(yīng)用性能,

現(xiàn)成的這類產(chǎn)品比較多,到底選擇誰(shuí)呢?

◆Zend Cache 是一款不錯(cuò)的商業(yè)產(chǎn)品,在第一次加載那些很大的 PHP 頁(yè)面后,你會(huì)明顯感受到速度的提升,服務(wù)器會(huì)留出更多的資源??上н@個(gè)產(chǎn)品是要花銀子的,但是在有些情形下,你可不要吝嗇這些銀子。

◆Afterburner Cache 是 Bware Technologies 的產(chǎn)品,目前還處于 Beta 版本,看起來(lái)似乎和 Zend Cashe 一樣,但是它不能達(dá)到 Zend Cache 那樣好的效果,也不能和 Zend 優(yōu)化引擎一起工作,但是它是免費(fèi)的,所以我采用了這個(gè)模塊。

◆APC (Alternative PHP Cache) 是 Community Connect 發(fā)布的又一個(gè)免費(fèi)模塊,看起來(lái)似乎可以用于生產(chǎn)環(huán)境了。

三、Web 內(nèi)容壓縮

對(duì)于日益擁擠的網(wǎng)絡(luò)來(lái)說(shuō),節(jié)約帶寬就像節(jié)約用水一樣是十分值得提倡的。根據(jù)IETF 標(biāo)準(zhǔn),大多數(shù)瀏覽器應(yīng)該支持使用 gzip 壓縮的內(nèi)容。也就是說(shuō)你可以把用 gzip 壓縮的內(nèi)容發(fā)送給瀏覽器,瀏覽器會(huì)透明的解壓數(shù)據(jù)。

mod_gzip是 Remote Communications 公司推出的免費(fèi) Apache 模塊,能把靜態(tài)的Web 內(nèi)容壓縮后發(fā)送給瀏覽器。對(duì)于大多數(shù)靜態(tài)網(wǎng)頁(yè)來(lái)說(shuō),這個(gè)模塊十分合適。盡管Remote Communications公司的人說(shuō)這個(gè)模塊支持所有那些 mod_php, mod_perl,mod 什么產(chǎn)生的動(dòng)態(tài)內(nèi)容,但是看起來(lái)還是不能工作,從 mod_gzip 的郵件列表來(lái)看,這個(gè)問(wèn)題估計(jì)要到1.3.14.6f 才能解決。

如果要壓縮動(dòng)態(tài)內(nèi)容的話,我們可以采用class.gzip_encode.php,一個(gè)在腳本開(kāi)始和結(jié)束時(shí)使用的 PHP 類。對(duì)整個(gè)網(wǎng)站來(lái)說(shuō)就是在 php.ini 的 auto_prepend 和 auto_append 中調(diào)用其中的函數(shù)。詳細(xì)你可以閱讀這個(gè)類的程序,這個(gè)程序注釋得很好,作者幾乎把什么都告訴你了。不過(guò)使用之前,你的PHP要編譯為支持zlib。

對(duì)于PHP 5來(lái)說(shuō),一個(gè)新的解決方案就是使用 ob_gzhandler,能達(dá)到和上面的類一樣的效果,只要簡(jiǎn)單的在 php.ini 加入下面這句話就可以了:

output_handler = ob_gzhandler ;

這能讓 PHP 激活輸出緩沖,并壓縮所有輸出。如果有什么特殊的理由不想讓所有的內(nèi)容都?jí)嚎s輸出的話,可以采用在 .htaccess 文件中加入下面的行,對(duì)對(duì)應(yīng)目錄下的文件進(jìn)行壓縮。

php_value output_handler ob_gzhandler

也可以直接在 PHP 代碼中加入:

ob_start("ob_gzhandler");

這項(xiàng)壓縮技術(shù)十分有效,但是對(duì) Netscape Communicator 用戶來(lái)說(shuō),因?yàn)椴荒軌嚎s圖形文件,所以看上去沒(méi)有完整的發(fā)送,因此必須關(guān)閉對(duì) jpeg 和 gif 文件的壓縮,IE 沒(méi)有這個(gè)問(wèn)題。

四、結(jié)論

采用本文所討論的技術(shù)應(yīng)該能改善你的網(wǎng)站性能,但是需要注意的是:

◆PHP 可能不是導(dǎo)致瓶頸的原因,仔細(xì)檢查其他原因(例如:數(shù)據(jù)庫(kù))

◆你不可能把服務(wù)器性能調(diào)節(jié)到最高狀態(tài)。因此在埋怨PHP及其緩沖之前,考慮是否該升級(jí)服務(wù)器了,或者采用動(dòng)態(tài)負(fù)載平衡技術(shù)。

◆不要低估內(nèi)容壓縮,在你100 Mb的內(nèi)部網(wǎng)上面看到 PHP 應(yīng)用的速度提升時(shí),不要忘記使用調(diào)制解調(diào)器的用戶在哪里埋怨你的 100Kb 的 HTML 頁(yè)面。

【編輯推薦】

  1. PHP優(yōu)化及高效提速問(wèn)題小結(jié)
  2. 20個(gè)非常有用的PHP類庫(kù)
  3. 探究PHP底層運(yùn)行機(jī)制
責(zé)任編輯:佚名 來(lái)源: 計(jì)算機(jī)教程網(wǎng)
相關(guān)推薦

2011-07-07 17:08:55

PHP

2018-08-23 08:18:38

AI偵探AI破案

2022-07-15 08:52:10

代碼Java設(shè)計(jì)模式

2024-03-07 12:51:44

代碼CRUD數(shù)據(jù)

2010-05-19 18:11:05

2010-05-17 16:04:40

MySQL數(shù)據(jù)庫(kù)

2010-08-06 17:09:14

加薪

2022-01-06 22:31:21

Python技巧代碼

2023-04-26 11:14:11

IT領(lǐng)導(dǎo)者遠(yuǎn)程工作

2013-08-21 11:11:35

大數(shù)據(jù)

2011-08-16 13:08:34

windows7游戲全屏

2010-10-19 15:01:01

2020-06-11 09:00:27

SDN網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2025-01-26 00:00:30

AIReact代碼

2009-11-26 15:10:25

PHP調(diào)用系統(tǒng)命令函數(shù)

2009-05-27 10:23:03

表管理列管理Oracle

2013-04-10 09:35:22

程序員

2009-11-16 11:07:26

PHP上傳圖片

2025-03-28 07:00:00

IT領(lǐng)導(dǎo)者CIOAI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)