我所知道的PHP相關調(diào)優(yōu)匯總

By:0x584A Date:2016-04-07 21:58:06

前言

這幾天都在找工作,無意中看到企業(yè)招聘中有標注需要懂PHP調(diào)優(yōu),然后發(fā)現(xiàn)自己還停留在APC模塊的層面歹篓,趕緊惡補一下PHP相關優(yōu)化儡湾,寫下該筆記媳否。

1. PHP5-APC/PHP5-APCu

從最配置LNMP環(huán)境時就知道APC這個模塊的好處栅螟,所以每次安裝環(huán)境的時候荆秦,基本上這個模塊我都會安裝上去。

  • apt-get 一建安裝

    sudo apt-get install php5-apc

注意:我本機PHP安裝版本是PHP 5.6.11 所以裝的擴展是PHP5-APCU力图,查看了APC的最后PIP上發(fā)布的時間是2012年步绸,而APCU對新版本提供新的支持項。

APC是一個通過緩存PHP源碼和用戶變量吃媒,來高效顯著加速你的PHP程序的opcode緩存瓤介。在應用中使用APC,通常伴隨著提升程序響應時間赘那、減輕服務器負載和愉悅用戶的功效惑朦。

作用:

  1. 緩存期限:
APC的緩存分兩部分:**系統(tǒng)緩存**和**用戶數(shù)據(jù)緩存**。

系統(tǒng)緩存漓概,是自動使用的,是指APC把**PHP文件源碼的編譯結(jié)果緩存起來,然后在再次調(diào)用時先對比時間標記**。

用戶數(shù)據(jù)緩存病梢,由用戶在編寫php代碼時用apc_store和apc_fetch函數(shù)操作讀取胃珍、寫入的。如果量不大的話我建議可以使用一下蜓陌。如果量大觅彰,建議使用**memcache**緩存吧(最好別用,緩存頻繁的數(shù)據(jù)用戶會出現(xiàn)奇葩的錯誤)钮热。
  1. 狀態(tài)控制和分析: PHP APC的源碼包自帶了一個apc.php填抬。
    可以將這個文件上傳到web服務器的某個目錄下,用瀏覽器訪問隧期,這會顯示當前的狀態(tài)飒责。我們可以從這里的表格分析當前的緩存狀況,作出進一步優(yōu)化(也就是圖形化NoSql數(shù)據(jù)查看而已)仆潮。
我們需要通過統(tǒng)計調(diào)整apc.shm_size宏蛉、apc.num_files_hints、apc.user_entries_hint的值性置,直到最佳拾并。

注意:在配置文件中默認apc.stat=1,這樣每次請求都會訪問需要使用的php文件鹏浅,看看這個文件是否更新了嗅义,已決定是否重新編譯php文件。這個是很耗性能的隐砸,直接賦值0將其關閉之碗。反正每次修改了配置文件后干掉php5-fpm,重新開啟即可季希。

php5-apcu 下載地址:https://github.com/krakjoe/apcu

2. Xdebug + kcachegrind 分析ThinkPHP框架函數(shù)調(diào)用圖

Xdebug 是什么我就不過多贅述了继控,windows下的安裝方式請自行百度械馆。

sudo apt-get install php5-xdebug

更改配置文件: vim /etc/php5/mods-available/xdebug.ini

zend_extension=xdebug.so # .so文件地址
xdebug.profiler_enable=on # 始終開啟
xdebug.trace_output_dir="/tmp/xdebug" # 文件保存地址
xdebug.profiler_output_dir="/tmp/xdebug" # 文件保存地址

隨后在/tmp建立文件夾xdebug并賦予相應的讀寫權(quán)限:

cd /tmp
mkdir xdebug
sudo chmod 777 xdebug

不給全部權(quán)限也可以,根據(jù)自己制定武通,讓后重啟php5-fpm 讓起其生效霹崎。

此時當我們打開瀏覽器運行我的網(wǎng)站時,隨便點擊點頁面冶忱,在xdebug文件夾內(nèi)會產(chǎn)生類似文件:

-rw-r--r-- 1 nobody nobody 4615252 Oct 27 17:31 cachegrind.out.29293

此時我們來安裝kcachegrind尾菇,win下請安裝wincachegrind

sudo apt-get install kcachegrind

安裝完成后直接在終端下運行kcachegrind啟動即可,并用其打開/tmp/xdebug中的文件就可以進行性能分析了囚枪。

33.png

當然派诬,還能生成函數(shù)調(diào)用關系圖幫助你更好的分析:

34.png

對ThinkPHP感興趣的童鞋,這兩個在其手冊上明確寫的東西链沼,有多少人在去仔細看過呢默赂?都是對網(wǎng)站性能起很大優(yōu)化的。

ThinkPHP的查詢緩存 http://document.thinkphp.cn/manual_3_2.html#query_cache

ThinkPHP的SQL解析緩存 http://document.thinkphp.cn/manual_3_2.html#sql_build_cache

  • 結(jié)束語:

    好吧括勺,暫時就說這個多吧缆八,免得又說我要混助攻了.. 具體怎么通過kcachegrind,win下請安裝wincachegrind去分析呢疾捍,我現(xiàn)在也是在研究當中奈辰,只會看函數(shù)調(diào)用次數(shù)。(⊙o⊙)…好吧.. 我承認裝逼失敗...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乱豆,一起剝皮案震驚了整個濱河市奖恰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宛裕,老刑警劉巖瑟啃,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異揩尸,居然都是意外死亡翰守,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門疲酌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜡峰,“玉大人,你說我怎么就攤上這事朗恳∈” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵粥诫,是天一觀的道長油航。 經(jīng)常有香客問我,道長怀浆,這世上最難降的妖魔是什么谊囚? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任怕享,我火速辦了婚禮,結(jié)果婚禮上镰踏,老公的妹妹穿的比我還像新娘函筋。我一直安慰自己,他們只是感情好奠伪,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布跌帐。 她就那樣靜靜地躺著,像睡著了一般绊率。 火紅的嫁衣襯著肌膚如雪谨敛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天滤否,我揣著相機與錄音脸狸,去河邊找鬼。 笑死藐俺,一個胖子當著我的面吹牛炊甲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播紊搪,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼全景!你這毒婦竟也來了耀石?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤爸黄,失蹤者是張志新(化名)和其女友劉穎滞伟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炕贵,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡梆奈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了称开。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亩钟。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡儒老,死狀恐怖痕寓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凿傅,我是刑警寧澤蕴侣,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布焰轻,位于F島的核電站,受9級特大地震影響昆雀,放射性物質(zhì)發(fā)生泄漏辱志。R本人自食惡果不足惜蝠筑,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揩懒。 院中可真熱鬧什乙,春花似錦、人聲如沸旭从。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽和悦。三九已至退疫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸽素,已是汗流浹背褒繁。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留馍忽,地道東北人棒坏。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像遭笋,于是被迫代替她去往敵國和親坝冕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容