PHP應(yīng)用性能管理與實(shí)踐_第1頁(yè)
PHP應(yīng)用性能管理與實(shí)踐_第2頁(yè)
PHP應(yīng)用性能管理與實(shí)踐_第3頁(yè)
PHP應(yīng)用性能管理與實(shí)踐_第4頁(yè)
PHP應(yīng)用性能管理與實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PHP應(yīng)用性能管理與實(shí)踐目錄l 應(yīng)用性能管理簡(jiǎn)介l PHP應(yīng)用性能管理的實(shí)現(xiàn)原理l 與常規(guī)性能工具的區(qū)別l 圖表演示l 案例實(shí)踐復(fù)雜的應(yīng)用交付鏈應(yīng)用性能管理?APMApplication Performance Management對(duì)軟件應(yīng)用的性能和可用性進(jìn)行監(jiān)控和管理, 致力于發(fā)現(xiàn)和定位性能瓶頸和故障,以保證應(yīng)用達(dá)到預(yù)期的服務(wù)水平(SLA)為什么需要APM應(yīng)用性能測(cè)試開(kāi)發(fā)測(cè)試階段實(shí)驗(yàn)室測(cè)試環(huán)境發(fā)布前應(yīng)用性能監(jiān)測(cè)應(yīng)用運(yùn)營(yíng)階段復(fù)雜的生產(chǎn)環(huán)境發(fā)布后APM全景圖SERVER端關(guān)注點(diǎn)l 運(yùn)行性能l 服務(wù)質(zhì)量(異常,錯(cuò)誤)l 應(yīng)用拓?fù)鋖 跨應(yīng)用追蹤PHP應(yīng)用性能管理實(shí)現(xiàn)原理基本原理Zend/Opcode

2、/ExtensionsPHP有兩大類模塊:Zend引擎、擴(kuò)展層Zend引擎將PHP源文件解釋為一系列操作碼(opcode), 然后循環(huán)執(zhí)行操作碼;擴(kuò)展層是一組函數(shù)、類庫(kù)和流,PHP使用它們來(lái)執(zhí)行一些 特定功能的操作,例如數(shù)據(jù)庫(kù)功能、網(wǎng)絡(luò)功能。Zend引擎/book/?p=chapt07/07-01-zend-vm-overviewPHP擴(kuò)展利用擴(kuò)展機(jī)制,增加特定功能,跟蹤PHP引擎執(zhí)行過(guò)程相關(guān)著名的擴(kuò)展: xdebug / xhprof聽(tīng)云的PHP APM功能也是一個(gè)擴(kuò)展,實(shí)現(xiàn)了跟蹤請(qǐng)求及各種 組件性能的功能。嵌碼原則可操作性:自動(dòng)嵌碼效率:只在必要的位置嵌入盡量簡(jiǎn)潔的代碼必要 的位 置可能形

3、成 性能瓶頸 的代碼可能誘發(fā) 性能問(wèn)題 的服務(wù)對(duì)應(yīng)關(guān)系關(guān)注點(diǎn)名稱Http Request 性能擴(kuò)展Rinit/Rshutdown函數(shù)性能內(nèi)核zend_execute服務(wù)質(zhì)量?jī)?nèi)核/ 擴(kuò)展zend_error/SAPI. http_response_code/ Mysql_query result/Curl result/應(yīng)用拓?fù)鋽U(kuò)展Curl/Mysql/Memcahed/ Redis/Thrift/SOAP/跨應(yīng)用追蹤擴(kuò)展Curl/SOAP/與常規(guī)性能工具的區(qū)別PHP-FPM SlowLogPHP-FPM SlowLogPHP將執(zhí)行時(shí)間超過(guò)10秒的腳本記錄到慢日志文件同時(shí)記錄到日志中的還有在第1

4、0秒正在運(yùn)行的函數(shù)運(yùn)行結(jié)果php-fpm.conf 配置request_slowlog_timeout = 10APM慢過(guò)程跟蹤效果自動(dòng)采集實(shí)際性能占比最高的函數(shù)xhprofxhprof聽(tīng)云APM嵌碼方式手工嵌入代碼或 auto_prepend_file無(wú)需開(kāi)發(fā)人員參與異常追蹤僅采集代碼的性能除性能信息還包括執(zhí)行異常,sql錯(cuò) 誤等函數(shù)歸類無(wú)自動(dòng)歸納為數(shù)據(jù)庫(kù)、memcache、redis、web-service等多個(gè)分類數(shù)據(jù)展現(xiàn)手工錄入run id,或二次 開(kāi)發(fā)匯總報(bào)表各種性能報(bào)表和匯總數(shù)據(jù):堆疊圖、 曲線圖、郵件警告、手機(jī)短信報(bào)警APM圖表性能概覽應(yīng)用過(guò)程性能慢過(guò)程追蹤列表慢過(guò)程追蹤詳情跨應(yīng)

5、用分析數(shù)據(jù)庫(kù)性能匯總慢SQL列表SQL詳情Web-service錯(cuò)誤概覽錯(cuò)誤列表錯(cuò)誤詳情1連接數(shù)據(jù)庫(kù) 1:3306 失敗錯(cuò)誤詳情2SQL語(yǔ)法錯(cuò)誤where條件缺少borrow_nid數(shù)值應(yīng)用拓?fù)浒咐龑?shí)踐-某電商重大故障線索的快速發(fā)現(xiàn)故障情況l 某電商某一產(chǎn)品線在2016年3月大促期間出現(xiàn)應(yīng)用性能緩慢的問(wèn)題。l 架構(gòu)情況:所有應(yīng)用均負(fù)載均衡到幾臺(tái)服務(wù)器,這幾臺(tái)服務(wù)器每臺(tái)上 面均有所有應(yīng)用的代碼, 每個(gè)應(yīng)用依賴多個(gè)服務(wù)。l 由于業(yè)務(wù)邏輯關(guān)系復(fù)雜,存在多個(gè)應(yīng)用相互調(diào)用的情況,無(wú)法直接定 位問(wèn)題出現(xiàn)在哪個(gè)應(yīng)用的哪個(gè)接口上。分析過(guò)程 - 應(yīng)用性能分解瓶頸:Redisredis處理過(guò)程l 通過(guò)性能分解曲線,21:00左右發(fā)現(xiàn)是redis是性能瓶頸l 查看慢過(guò)程跟蹤堆棧、代碼及相應(yīng)配置發(fā)現(xiàn)是商品在redis集群內(nèi)分布 不均。雖然redis集群有十幾臺(tái)服務(wù)器,但大部分請(qǐng)求的商品集中在其 中某一臺(tái)Redis上,導(dǎo)致Redis負(fù)載過(guò)高,響應(yīng)變慢。l 客戶快速調(diào)整商品在Redis集群內(nèi)的分配策略,并做Redis設(shè)備調(diào)整。l 經(jīng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論