二、架構的性能問題解決討論
性能問題——嗯,一個非常神圣而高深的問題的。從我剛剛開始工作的時候,至今依然是。然而我相信,一定存在一個基本的思路和方法,我以為解決性能問題的工作還是在于分解,通過分解來確定問題域。
先介紹三個公式性能問題的公式:
總處理單量 = 總處理時間/ 單筆請求處理時間 * 總并發數
這個公式另一個寫法為:
總處理時間 = 單筆請求處理時間 * 總處理單量 / 總并發數
不同的寫法代表不同個關注點,適合不同類型的業務類型, 一般說前一種寫法代表在線請求的,后一種寫法代表后臺batch。
也有客戶給明確要求系統要支持xxx并發,這個就需要了解客戶的這個并發數是如何計算得來,需要通過分析客戶的業務,而通常是根據總處理單量來確定客戶實際的并發數。
但無論如如何,四個變量中,總處理單量和總處理時間是先被確定的,換句話說需要關注是單筆請求處理時間和并發數,也就是降低單筆請求處理時間或者增加并發數。
對于單筆請求處理時間,其公式為:
單筆請求處理時間 = 數據計算時間 + 數據讀寫時間+其它技術導致時間消耗
很顯然降低單筆請求處理時間就需要降低三個因素消耗的時間。
1.降低單筆請求處理時間第一原則是, 只計算一次.緩存計算結果
2.降低數據讀取時間,分三種
2.1. Global的,系統啟動時加載
文章來源于領測軟件測試網 http://www.kjueaiud.com/