經過IBM老師的培訓,對性能優化方面進行一個簡單的總結
系統優化從架構層面,可以考慮從以下方面進行思考:
一、結構
1、業務需求方面
與用戶溝通確認,自己對業務理解是否存在誤區,用戶對業務響應的期望本身就沒有那么高;
2、產品選型
應該反思我們在選擇產品方面是否存在缺陷,軟件的設計初衷就與你的希望不一致,還要需要考慮產品是否支持容錯、集群、橫向擴展等
二、操作模型(Operation Modeling)
1、協議選擇
不同的協議的成本不一樣,比如https的性能就比http低的多;
2、工作流程(業務流程)
業務流程現狀本身就是足夠復雜,通過系統優化空間有限,是否可以通過流程優化改善性能
3、系統對接方式
系統對接方式有同步與異步兩種,業務能否接受一定時間差的延期,通過異步進行實現系統之間的系統對接;
4、緩存
在客戶端與服務端,將常用的基礎數據(主數據),進行緩存,減少不必要的數據庫訪問;
三、實現方面
1、編程語言
用戶就要求實時響應,想基于虛擬機的語言就可能需要重新考慮選擇了,比如C++;
四、資源
1、冗余的數據
數據冗余從設計角度來看數據冗余不符合數據庫范式的要求,通過一定的冗余有時可以極大的減少數據庫訪問次數;
2、增加帶寬、內存、服務器、磁盤
隨著硬件成本的不斷下降,有些情況可以通過一定金錢解決問題,關鍵的問題點在于如何發現系統的問題點在哪,確認你是否找到了系統的真正瓶頸;
3、服務器調優
可以通過對應用中間件,數據庫服務器,操作系統根據系統的運行情況進行相應的調優。