所有基于技術的等待點,比如對象池、緩存和垃圾回收,應該調整到最大化請求的吞吐量使得盡可能快的穿越服務器或者基于層析的等待點之間。
總結
性能調優曾經是“藝術性”多于“科學性”,但是通過結合抽象分析和嘗試并產生錯誤,基于等待的調優方法已經證明能夠使該過程更具科學性和更有效率?;诘却恼{優首先執行一個應用架構的等待點分析,以此定位有可能導致請求等待的某個技術。等待點來自兩方面:基于層次的等待點,代表著跨越應用層次的轉換;基于技術的等待點,代表著可能提高或降低性能的技術,比如緩存、池和通訊基礎設施。一旦定位好了一系列等待點,調優過程就此開始:開放所有基于層次的等待點和外部依賴池,產生均衡的和具有代表性的負載,然后后退調優,收緊等待點以最大化該請求最薄弱的一環的性能,但是不要透支?;诘却恼{優方法在生產環境中已經一次又一次得到了證明,不僅僅是高效的,而且允許性能工程師快速實現可度量的性能優化。
關于作者
Steven Haines是GeekCap公司的創立者和CEO,該公司致力于向全球的開發社區提供電子學習解決方案,尤其側重于諸如性能測試和性能調優這樣生僻的領域。除了電子學習方案,GeekCap還提供了免費的技術論壇、學習路線圖和其他資源以幫助開發人員發展自己的技術事業和學習新技術。GeekCap提供的服務包括:市場營銷資料,比如白皮書和技術概要;業務服務,比如市場分析和戰略定位。Steven的著作包括:許多白皮書、Java EE 5性能管和優化(Apress,2006),Java 2 Primer Plus (SAMS, 2002)和從零學習Java 2(QUE,1999)。他是InformIT.com的Java版主,同時也是InfoQ.com的Java社區編輯。平時他作為一名承包商在Disney團隊工作,負責實現下一代Disney網站的架構。他之前在Quest Software公司工作了七年,職責是作為Java領域專家設計性能監控和分析軟件。他先后在California大學Irvine分校和 Learning Tree大學接受過全面的Java開發培訓。您可以通過steve@geekcap.com聯系他。
原文轉自:http://www.infoq.com/cn/articles/Wait-Based-Tuning-Steven-Haines