效能優化漫談之三:效能優化目標的確定和衡量
大家都知道,效能優化的目標是使響應速度變快。這個變化的過程就存在著講究,為了變快,我們必須首先知道現在是這麼衡量慢的,為什麼這種狀況就慢了呢?比如一個電信受理業務,客戶反饋受理很慢,需要進行優化,要變快。客戶只會告訴你受理慢,不會告訴你更多,其他的東西需要我們的效能優化工作者和客戶進行耐心的溝通,也許你會發現非常鬱悶,和你溝通的客戶代表壓根就無法說明白什麼慢,慢在哪裡。
效能優化,顧名思義就是個改善工作,既然是改善工作,那我們首先必須知道現在在哪裡,將來應該到那裡去,在改善之前這些因素至少是需要被確定下來的。好的,讓我們開始這個工作吧。我們依然以電信受理業務系統為例子,我們首先確定慢的範疇,範疇又可以分為兩個層次:(1)、業務範圍層 (2)、影響區域範圍層。業務範圍層:(1)、僅僅是開戶受理慢還是所有受理業務都慢? (2)、僅僅是儲存慢還是所有步驟都慢? (3)、僅僅是人工受理慢還是所有受理處理都慢? 影響區域範圍層:(1)、個別終端慢個別區域慢還是全域性性慢 ? (2)、個別受理通道慢還是所有的受理通道都慢?
其次,我們來確定所謂慢的定性或者定量描述。作為一個效能優化者必須知道慢是一個相對的概念,快或者慢取決於期望。我經常和同事講,作為一個開發人員或者DBA必須懂得使用者的期望管理,並且懂得通過降低客戶的期望來提高客戶服務滿意度。比如依然是這個電信受理業務,實際情況使大約2秒完成。我們讓兩個不同的人來描述這個兩秒鐘,看看他們是如何管理期望的。第一個人出場,電信受理業務非常複雜,需要中間經過N個流程,每個流程都需要花費一定的時間,我們付出了很大的努力,已經通過了充分的業務邏輯優化,縮減了相當部分不需要的流程,現在的效能預期良好,大約在2秒鐘左右可以完成受理。營業員想象著一個按鈕下去,業務系統在跑N個流程,想想都頭暈了,這麼多步驟,2秒鐘就夠了,開發商做的真到位。現在輪到第二個人出場,他對於自己的產品是如此的具有信心,信心滿滿的告訴營業員,不要擔心效能問題,經過我們的優化,效果非常理想,速度很快。接下去輪到營業員了,滿心期望著眼睛一閃結果就出來了,結果等呀等,居然要2秒鐘才做完一筆受理業務。業務紛紛抱怨,速度太慢,不可操作,需要做優化。除了快慢的期望相對性,不同人員的操作頻率也會對於快慢的期望產生重大的影響,對於操作的業務往往可以忍受比較慢的速度,而對於頻繁操作的業務則很難忍受。
待續。。。。
效能優化,顧名思義就是個改善工作,既然是改善工作,那我們首先必須知道現在在哪裡,將來應該到那裡去,在改善之前這些因素至少是需要被確定下來的。好的,讓我們開始這個工作吧。我們依然以電信受理業務系統為例子,我們首先確定慢的範疇,範疇又可以分為兩個層次:(1)、業務範圍層 (2)、影響區域範圍層。業務範圍層:(1)、僅僅是開戶受理慢還是所有受理業務都慢? (2)、僅僅是儲存慢還是所有步驟都慢? (3)、僅僅是人工受理慢還是所有受理處理都慢? 影響區域範圍層:(1)、個別終端慢個別區域慢還是全域性性慢 ? (2)、個別受理通道慢還是所有的受理通道都慢?
其次,我們來確定所謂慢的定性或者定量描述。作為一個效能優化者必須知道慢是一個相對的概念,快或者慢取決於期望。我經常和同事講,作為一個開發人員或者DBA必須懂得使用者的期望管理,並且懂得通過降低客戶的期望來提高客戶服務滿意度。比如依然是這個電信受理業務,實際情況使大約2秒完成。我們讓兩個不同的人來描述這個兩秒鐘,看看他們是如何管理期望的。第一個人出場,電信受理業務非常複雜,需要中間經過N個流程,每個流程都需要花費一定的時間,我們付出了很大的努力,已經通過了充分的業務邏輯優化,縮減了相當部分不需要的流程,現在的效能預期良好,大約在2秒鐘左右可以完成受理。營業員想象著一個按鈕下去,業務系統在跑N個流程,想想都頭暈了,這麼多步驟,2秒鐘就夠了,開發商做的真到位。現在輪到第二個人出場,他對於自己的產品是如此的具有信心,信心滿滿的告訴營業員,不要擔心效能問題,經過我們的優化,效果非常理想,速度很快。接下去輪到營業員了,滿心期望著眼睛一閃結果就出來了,結果等呀等,居然要2秒鐘才做完一筆受理業務。業務紛紛抱怨,速度太慢,不可操作,需要做優化。除了快慢的期望相對性,不同人員的操作頻率也會對於快慢的期望產生重大的影響,對於操作的業務往往可以忍受比較慢的速度,而對於頻繁操作的業務則很難忍受。
待續。。。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92650/viewspace-774433/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 效能優化漫談之三:效能優化目標的確定和衡量(續)優化
- 效能優化漫談之七:效能優化的誤區優化
- 效能優化漫談之一優化
- 效能優化漫談之二優化
- 前端感官效能的衡量和優化實踐前端優化
- 測量、基線和效能優化之三:基於測量、基線和變化的效能優化優化
- 測量、基線和效能優化之三:基於測量、基線和變化的效能優化v優化
- 【前端效能優化】vue效能優化前端優化Vue
- 從 React render 談談效能優化React優化
- 雜談WebApiClient的效能優化WebAPIclient優化
- 淺談小程式效能優化優化
- 效能優化,實踐淺談優化
- 淺談優化程式效能(下)優化
- 漫談CUDA優化優化
- 淺談網站效能之前端效能優化網站前端優化
- 效能優化優化
- 效能優化案例-SQL優化優化SQL
- 【效能優化】ORACLE資料庫效能優化概述優化Oracle資料庫
- 淺談webpack4.0 效能優化Web優化
- 淺談JavaScript程式碼效能優化JavaScript優化
- MySQL-效能優化-索引和查詢優化MySql優化索引
- 前端效能優化(JS/CSS優化,SEO優化)前端優化JSCSS
- Android效能優化----卡頓優化Android優化
- 前端效能優化 --- 圖片優化前端優化
- [效能優化]DateFormatter深度優化探索優化ORM
- MySQL 效能優化之索引優化MySql優化索引
- Web效能優化:圖片優化Web優化
- MySQL 效能優化之SQL優化MySql優化
- Android效能優化篇之計算效能優化Android優化
- 談談你對前端效能優化的理解前端優化
- mysql效能優化MySql優化
- Redis 效能優化Redis優化
- 效能優化有感優化
- react效能優化React優化
- javascript效能優化JavaScript優化
- Javascript 效能優化JavaScript優化
- php效能優化PHP優化
- 前端效能優化前端優化