前 言
系統或者軟件性能的重要性自然是無須多言,永遠沒有哪個用戶可以忍受打開一個網站或者軟件需要很久才能響應,性能是評估一個系統或者軟件最實在的指標,如果一個網站做得再好看、再漂亮,但是性能上不去,那也只是華而不實。
筆者在離開測試崗進入研發崗已經有好幾個年頭了,按理說不應該再去寫關于軟件測試方面的書,而應該更多地去關注研發工作,但是筆者在研發崗位上奮斗了幾年后發現,其實性能并不應該是軟件測試工程師一個人的事情,而是一個涉及非常多IT崗位的共同工作,例如架構師、技術經理、研發工程師、網絡工程師、運維工程師等,他們都應該去關注性能。為什么這么說呢?因為性能測試的工作不僅僅是為了完成一項性能測試任務來獲取系統或者軟件的性能指標,而更多的是要去發現性能問題、去分析診斷性能問題、去針對性能問題進行調優。某個性能問題可能是由架構設計缺陷引起的,也有可能是由網絡布線不足導致的,當然也可能是由幾行代碼引發的,所以這是一個和很多IT崗位都相關的工作,是很多IT崗位都需要一起去重視的工作。正因為性能如此重要,所以筆者在轉崗后還是對性能念念不忘,從而也就有了這本書的問世,當然筆者也希望借助本書能讓不同IT崗位的“同行”都能更多地去關注性能問題。
這是一本理論和實踐相結合的、同時面向研發和測試崗的關于性能分析診斷調優實踐的圖書,比起其他的很多性能測試方面的圖書,本書的內容更側重于介紹如何去發現性能問題、分析診斷性能問題以及對發現的性能問題進行調優。書中的內容涵蓋了性能測試基礎、Linux和Windows服務器的性能分析、Web和應用中間件的性能分析、Java應用程序的性能分析、MySQL數據庫的性能分析、安卓APP的性能分析以及具體的性能分析案例實踐。這本書主要是面向有一定性能測試基礎或者編程語言基礎的朋友,對于剛剛接觸性能測試的朋友來說可能會稍顯吃力,建議在閱讀本書的同時可以搭配參考其他的基礎書籍,這樣學習效果會更好,筆者相信讀完本書的朋友以后肯定不會再為“性能問題”而發愁。
特別感謝夏毓彥編輯一直對我的支持和鼓勵,正是有了清華大學出版社各位老師的幫助才有了這本關于性能測試分析、診斷調優的書,也特別感謝蔣彪等眾多摯友在我最困難的時候給了我很多的幫助。由于作者水平和時間的限制,書中難免會存在一些錯誤和不足之處,還望見諒并幫忙指正,也懇請讀者提出寶貴的意見和建議。
作者于南京
2020年3月