摘要:項(xiàng)目性能優(yōu)化的三個(gè)層次語(yǔ)言層級(jí)周邊服務(wù)器,數(shù)據(jù)庫(kù),底層語(yǔ)言層級(jí)盡量使用原生函數(shù)和常量,類如果要實(shí)現(xiàn)的功能有原生函數(shù),則不要自己用實(shí)現(xiàn)盡量使用性能更高的內(nèi)置函數(shù)比如和都可以使用,則使用盡量不要使用錯(cuò)誤抑制符不要使用處理密集的業(yè)務(wù),交給適合的語(yǔ)
PHP項(xiàng)目性能優(yōu)化的三個(gè)層次
PHP語(yǔ)言層級(jí)
PHP周邊(服務(wù)器,數(shù)據(jù)庫(kù),webserver)
PHP底層
語(yǔ)言層級(jí)盡量使用PHP原生函數(shù)和常量,類
如果要實(shí)現(xiàn)的功能有原生PHP函數(shù),則不要自己用PHP實(shí)現(xiàn)
盡量使用性能更高的內(nèi)置函數(shù)
比如isset和array_key_exists都可以使用,則使用isset
盡量不要使用錯(cuò)誤抑制符@
不要使用PHP處理cpu密集的業(yè)務(wù),交給適合的語(yǔ)言去處理
減少io操作,比如在一次請(qǐng)求中要生成多條日志,則盡量緩存一次寫入
代碼盡量向上兼容,即盡可能的使用PHP最新版本,比如generaotr實(shí)現(xiàn)的range等,數(shù)組短語(yǔ)法
周邊(展開(kāi)則相當(dāng)龐大了)Linux內(nèi)核優(yōu)化,硬件提升(ssd硬盤,加內(nèi)存)
減少跨網(wǎng)絡(luò)請(qǐng)求
MySQL 索引使用,NoSQL+MySQL的配合使用,MySQL主從等
Nginx 的配置優(yōu)化
PHP-FPM配置優(yōu)化
使用PHP的最新版本,目前PHP 5.6,今年即將會(huì)來(lái)的PHPNG(PHP7)
使用xhprof分析項(xiàng)目源碼,找出瓶頸進(jìn)行優(yōu)化
這部分內(nèi)容需要繼續(xù)學(xué)習(xí)研究
PHP底層使用opcode擴(kuò)展 緩存PHP的opcode代碼,減少PHP的編譯過(guò)程
CPU密集或者復(fù)雜功能使用PHP的pecl擴(kuò)展(swoole等優(yōu)秀擴(kuò)展的使用)
HHVM,百度再用,不過(guò)還是讓我們坐等PHPNG的問(wèn)世,有PHPNG,HHVM就不是必須的選擇了
當(dāng)然良好的編碼風(fēng)格(目前PSR很流行 http://www.php-fig.org/),優(yōu)雅的代碼實(shí)現(xiàn)也非常重要
寫代碼,不要僅僅為了實(shí)現(xiàn)目的和功能,還要有詩(shī)人的情懷,盡量打磨代碼,精煉,如賈島之推敲,追求自己代碼的卓越
隨著項(xiàng)目的發(fā)展,就會(huì)有架構(gòu)方面的變更,來(lái)應(yīng)對(duì)更大的并發(fā)和請(qǐng)求
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/20908.html
摘要:但在密集計(jì)算方面比等靜態(tài)編譯語(yǔ)言差幾十倍甚至上百倍。一使用棧內(nèi)存在引擎和擴(kuò)展中,經(jīng)常要?jiǎng)?chuàng)建一個(gè)的變量,底層就是一個(gè)指針。代碼中創(chuàng)建的變量也進(jìn)行了優(yōu)化,直接在棧內(nèi)存上預(yù)分配。應(yīng)用層與底層在錯(cuò)誤拋出的方式全部統(tǒng)一為異常。 原文:http://rango.swoole.com/archives/440最近PHP官方終于發(fā)布了傳說(shuō)中的PHP7,雖然只是alpha版。PHP7號(hào)稱是新一代的PHP...
摘要:性能問(wèn)題一般不會(huì)超過(guò)占整個(gè)項(xiàng)目性能的,一般在。內(nèi)置函數(shù)的性能優(yōu)劣。幾乎與在函數(shù)中調(diào)用局部變量的速度相當(dāng)。遞增一個(gè)全局變量要比遞增一個(gè)局部變量慢倍。類似的方法調(diào)用所花費(fèi)的時(shí)間接近于次的局部變量遞增操作。 php性能怎么優(yōu)化?性能是網(wǎng)站運(yùn)行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運(yùn)營(yíng)成本及長(zhǎng)遠(yuǎn)發(fā)展,編寫出高質(zhì)高效的代碼是我們每個(gè)開(kāi)發(fā)人員必備的素質(zhì),也是我們良好...
摘要:內(nèi)置函數(shù)的性能優(yōu)劣。產(chǎn)生額外開(kāi)銷的錯(cuò)誤抑制符號(hào),最好別用不管是性能優(yōu)化和項(xiàng)目的健壯性等方面。在方法中遞增局部變量,速度是最快的。類似的方法調(diào)用所花費(fèi)的時(shí)間接近于次的局部變量遞增操作。 什么情況之下,會(huì)遇到PHP性能問(wèn)題?1:PHP語(yǔ)法使用不恰當(dāng)。2:使用PHP語(yǔ)言做了它不擅長(zhǎng)的事情。3:使用PHP語(yǔ)言連接的服務(wù)不給力。4:PHP自身的短板(PHP自身做不了的事情)。5:我們也不知道的問(wèn)...
摘要:目前的業(yè)務(wù)訪問(wèn)量數(shù)千萬(wàn),后端臺(tái),平均使用率。產(chǎn)生的問(wèn)題長(zhǎng)連接數(shù)超過(guò)時(shí),性能會(huì)下降。很可惜,我們目前使用的青云,目前尚不能實(shí)現(xiàn)超高可用,也不能實(shí)現(xiàn)無(wú)縫擴(kuò)容,私網(wǎng)內(nèi)的網(wǎng)絡(luò)傳輸性能延遲都有很大優(yōu)化空間。經(jīng)測(cè)試,性能有的提升。 需求分析 目前的業(yè)務(wù)全站使用ThinkPHP 3.2.3,前臺(tái)、后臺(tái)、Cli、Api等。目前的業(yè)務(wù)API訪問(wèn)量數(shù)千萬(wàn),后端7臺(tái)PHP 5.6,平均CPU使用率20%。 ...
閱讀 609·2021-10-19 11:45
閱讀 1530·2021-09-30 09:48
閱讀 1532·2021-08-16 10:56
閱讀 804·2021-07-26 23:38
閱讀 3259·2019-08-30 13:15
閱讀 2645·2019-08-30 12:45
閱讀 1902·2019-08-29 12:14
閱讀 2217·2019-08-26 18:42