本節書摘來自異步社群《精通軟體性能測試與loadrunner最佳實戰》一書中的第2章2.10節系統性能調優,作者于湧 , 王磊 , 曹向志 , 高樓 , 于躍,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
2.10 系統性能調優
精通軟體性能測試與loadrunner最佳實戰
性能測試分析人員經過對結果的分析以後,有可能提出系統存在性能瓶頸。這時相關開發人員、資料庫管理者、系統管理者、網絡管理者等就需要根據性能測試分析人員提出的意見同性能分析人員共同分析确定更細節的内容,相關人員對系統進行調整以後,性能測試人員繼續進行第二輪、第三輪……的測試,與以前的測試結果進行對比,進而确定經過調整以後系統的性能是否有提升。有一點需要提醒大家,就是在進行性能調整的時候,最好一次隻調整一項内容或者一類内容,避免一次調整多項内容而引起性能提高卻不知道是由于調整哪項關鍵名額而改善性能的。進行系統的調優過程中好的政策是按照由易到難的順序對系統性能進行調優。系統調優由易到難的先後順序如下:
(1)硬體問題;
(2)網絡問題;
(3)應用伺服器、資料庫等配置問題;
(4)源代碼、資料庫腳本問題;
(5)系統構架問題。
硬體發生問題是最顯而易見的,如果cpu不能滿足複雜的數學邏輯運算,可以考慮更換cpu,如果硬碟容量很小,承受不了很多的資料可以考慮更換高速、大容量硬碟等。如果網絡帶寬不夠,可以考慮對網絡進行更新和改造,将網絡更換成高速網絡。還可以将系統應用與平時公司日常應用進行隔離等方式,達到提高網絡傳輸速率的目的。很多情況下,系統性能不是十分理想的一個重要原因就是,沒有對應用伺服器、資料庫等軟體進行調優和設定引起的,如對tomcat系統調整堆記憶體和擴充記憶體的大小,資料庫引入連接配接池技術等。源代碼、資料庫腳本在上述調整無效的情況下,您可以選擇的一種調優方式,但是由于涉及對源代碼的改變有可能會引入缺陷,是以在調優以後,不僅需要性能測試,還要對功能進行驗證,以驗證是否正确。這種方式需要通過對資料庫建立适當的索引,以及運用簡單的語句替代複雜的語句,進而達到提高sql語句運作效率的作用,還可以在編碼過程中選擇好的算法,減少響應時間,引入緩存等技術。最後,在上述嘗試都不見效的情況下,就需要考慮現行的構架是否合适,選擇效率高的構架,但由于構架的改動比較大,是以應該慎重對待。
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。