提升應用性能小訣竅:優化工作負載與軟件路徑
工作負載優化是指允許一個應用程序或一組應用程序(通常也被認為是工作負載)通過底層硬件和架構/中間件層使其達到***的可用性能。如果你的公司希望從所購買的計算機平臺中獲取***效的應用性能,首先就應該確保工作負載已經足夠優化,其次還應該去尋找那些能夠整合軟硬件路徑的供應商們來協助。
使用正確的路徑
供應商與IT購買者們通常使用三種方式來優化工作負載性能:任務調整、應用性能管理和軟硬件路徑優化。比如說,一個工作負載作為一個核心應用,除了會造成相當多的I/O負載之外,還必須具備非常高等級的安全環境,因此***方案就是將其放在一臺大型機上。一個相對輕量級的工作負載,快速線程以及需要較低的服務質量(QoS)要求(例如較低的安全性、可靠性和可用性要求)***使用x86服務器。應用性能管理的意思是,在本質上使用一套監控和控制的工具來方便使用者(相對于供應商)調整他們的應用環境。
除了以上兩個關鍵方式,此篇文件著重描述的是“軟硬件路徑優化”,通常以供應商為導向,使用各種方法來使一個工作負載經過硬件與操作系統環境,在中間件與架構層之間運作最迅速,并最終進入數據庫與后端。這種路徑優化通常由供應商來操作完成,這些供應商的特征是必須非常了解底層硬件和數據庫,以及整個架構和中間件層--這就意味著為數不多的那些重量級IT玩家們,如IBM,Oracle和微軟。
當應用性能成為瓶頸時,路徑優化就變得非常關鍵。如果你只是一個系統集成商--作為一家不擁有這個應用以及架構/中間件和底層硬件的公司。在這種情況下,一個應用/工作負載將會與某個第三方的中間件程序相連,與某個第三方架構程序相連,再通過操作系統環境來處理數據。在這個案例中,這個集成商或這個項目的工程師將不得不去了解所有的***方式和***實踐來精簡此應用通向數據庫的方式。此外,如要真正調整應用,集成商不得不去理解硬件層面不同的作用,以此來提升應用性能。我幾乎從沒見過哪個集成商能夠提供此種級別的優化調整服務。
我最近與一個應用開發者聊天,他為一家公司定期開發軟件。這位開發者告訴我他的公司經常能夠為軟件大幅度地提升軟件性能,因為他們找到了如何通過中間件,架構和硬件層面來提升性能的方法。這種性能調整的能力賦予了這家供應商與其他不懂第三方軟件路徑優化供應商的特殊競爭優勢。
作為軟件路徑優化的例子,讓我們來思考IBM的Cognos軟件發出的一個查詢,Cognos軟件是一款業務分析系列的產品。IBM擁有的“軟件路徑優化軟件”Cognos,它能通過查詢數據庫獲取信息,這些數據能夠被存放在大型內存(VLM)里作為內存處理。CPU被非常緊密的與內存子系統耦合,相對于不停地從磁盤子系統中運行讀和寫,這種方式直接導致了一個三倍的速度提升。再比如,模式化地***實踐查詢,SAP的NetWeaver業務倉庫(Business Warehouse)的查詢反應速度能夠比使用ad-hoc查詢方式快55%。在加強系統管理的基礎上,IT管理員們對于查詢的工作方式和未來如何去調整它獲得了更高的可視度。一位管理員使用管理工具在Oracle Essbase上進行查詢調整能夠達到提升70%的查詢響應速度。此外,簡化生命周期管理的結果也能夠取得更多的性能節省--Cognos TM1能使速度快至多80%。
路徑的需求與影響
你如何來知道哪些供應商們正在調整并優化他們的軟件路徑呢?可惜的是,這個短語“軟件路徑優化”并沒有在計算機領域廣泛利用。有些供應商使用“軟件優化調整與集成”作為他們開發流程的一個組成部分。他們認為這并不是軟件路徑優化。取而代之,他們只會談論他們已經如何優化完成他們的軟件并可能指出他們的實施和調整后的性能比他們的競爭者更出色,僅此而已。
然而,如果你真正看到實際情況,許多供應商已經找出如何為信息架構和底層硬件取得高性能而需要進行的某些調整。換句話說,他們了解到如何通過架構和中間件層面,再進入數據庫進行路徑的優化調整 - 可能有時使用特殊的硬件來達到高性能的目的。
我發現許多IT購買者意識不到到路徑優化能夠大幅度提升應用性能的事實。這些購買者僅僅關注于商品的硬件和獨立軟件供應商(ISV)的中間件/架構和進行系統管理的產品,即完成整個系統環境的搭建并使其運作。他們不經常做軟件整合,那也就意味著他們無法從系統中獲得較高的性能。就算這個系統環境只使用了30%的性能,他們也依然對這樣的結果沾沾自喜。如果你的公司對高效比較關注的話--包括在正確的系統上運行正確的程序與進行應用的優化調整--你的公司則能夠從現有的系統上獲得更多的計算資源。你們的計算能力獲取成本將會持續降低,能夠在未來更好的擴展信息系統環境。最終,隨著通過優化路徑獲得的性能優勢,你的公司相對于那些不去調整工作任務,不懂得優化軟件路徑的那些低效率的競爭者們,將能夠建立起無法撼動的競爭優勢。