營運不再專業救火 不會PHP照樣找出代碼效能問題

來源:互聯網
上載者:User
身處互連網的SA(營運)們總感歎自己職業的苦逼,Why?我來告訴你:APP奔潰、網站打不開、網站502、搜尋緩慢、應用卡頓通通找營運,運營、專案經理、老闆等等圍著營運,看其救火。有些營運甚至受到各種指責,例如:技術差、準備不充分、伺服器最佳化的不行等等。面對千千萬萬的項目,營運為什麼總在救火和受委屈,而研發卻在不斷製造BUG。

問題定位

一旦出現故障,通常先查日誌,通過日誌分析定位到某些伺服器及項目,緊接著縮小範圍至某個項目,最後SA與研發之間各種配合,最終找出問題並修複。

每次緊急救火之後,營運總會發問:為什麼不能提前發現問題?是否有一個工具能讓營運/開發事先發現問題並消灰掉,或者上線能夠在故障出現之時快速定位到穩定。大家都應該認識到,通過常規方式來定位代碼問題效率非常低,而且非常考驗技術人員對業務熟悉程度以及個人技術能力。

解決方案

在日常工作中,常有人諮詢我系統出現某種問題或者偶爾出現問題時怎麼尋找原因,除了給出解決方案以外,我總會告訴他:去試試APM吧,能夠幫你快速發現問題,定位問題的原因。今天我要給SA們介紹一款國內純自主開發的APM產品---透視寶。

透視寶功能

APM是應用效能管理(Application Performance Management)的縮寫,通過對IT系統進行代碼級的即時監測和分析,即時發現系統運行瓶頸,並進行警示和預警,協助營運、開發迅速定位系統問題。透視寶包含APM(應用效能管理)、mobile、browser、host四項功能:

透視寶之安裝

透視寶的安裝比較簡單,透視寶官方文檔也非常清楚。

請直接看文檔: http://portal.toushibao.com/app/create

透視寶之主機管理

安裝完Smart Agent之後,登陸透視寶後台便能看到新增加的主機,如:

今天的主題不在“主機”,既然提到了,那麼我簡單的給大家展示透視寶下的主機基本監控。

伺服器CPU、記憶體、進程、網卡、TCP監控項都有。如果這些基礎監控能夠滿足你,那麼完全可以放棄Zabbix等上手困難的開源監控產品了。看看監控效果:

透視寶之APM

透視寶APM目前支援主流的Java、PHP、Python、.Net四種語言的代碼效能監測,PHP監測已經支援最新的PHP7正式版,我們主要以PHP為例感受一下APM的威力。

備忘:起初準備拿ttlsa.com來體驗,因為種種原因,最終換成了另外一個測試網站,請求量稍微少點,但是追蹤PHP效能問題的方法還是一樣的,一樣能協助我們找出代碼效能問題。

點擊應用,並選擇你需要追蹤的網域名稱,通過請求、資料庫、錯誤這三項目來找出PHP效能問題所在

APM之請求

首先看概覽圖,著重看緩慢、非常緩慢、錯誤的比率,如果比較高,那麼要引起重視。

正常:<500毫秒、緩慢:500-2000毫秒,非常慢:>2000毫秒

透視寶列出所有請求URL,以及URI對應的回應時間與請求數。

按照回應時間排序,點擊回應時間較長的URL,右側出現如下記錄

點擊記錄進行追蹤,可以看到整個請求耗時TOP5的方法,並可進行代碼追蹤、擷取請求參數、SQL語句,最真實的還原當時環境。

  • 概覽圖

  • 追蹤詳情

這裡非常重要,耗時(MS)越長的函數/方法說明效能越差. 由此,基本上已經定位到了效能問題代碼,把相應的方法給研發吧。發現沒?不懂代碼的你也能抓出PHP效能代碼。

  • 請求參數

通過當前的請求參數最真實的還原現場

  • SQL語句

一個緩慢響應請求部分由代碼寫法不恰當引起,還有一部分由效率低下的慢SQL引起。透視寶能夠追蹤到一個請求包含的所有SQL語句;由此,我們能快速的定位到SQL問題,並提交給研發/DBA最佳化。

APM之資料庫

透視寶APM能夠通過”請求”找出效能差的code、效能低下的慢SQL。透視寶能夠通過”資料庫”找出效能低下的慢SQL,並找出慢SQL對應的請求。”資料庫”這塊建議DBA經常瀏覽,並定期最佳化慢SQL。

透視寶提供了非常清晰易懂的SQL效能圖表,讓開發人員清晰的瞭解當前SQL使用方式,例如:SQL操作回應時間(TOPS)、輸送量(含select、delete、insert、update)

透視寶會列出所有SQL巨集指令清單,按照平均回應時間排序,選擇需要解決的SQL記錄,可定位對應請求耗時的介面/頁面以及對應的慢SQL語句。

慢SQL追蹤

APM之錯誤

除了透過請求與資料庫來發現問題之外,我們也應該經常關注”錯誤”。

附錄:透視寶外掛程式

SendProxy、Discover和OSAgent外掛程式是Smart Agent預設的基礎外掛程式,目前Smart Agent提供的外掛程式如下表所示。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.