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