1性能問題的相關概念
如何處理服務器性能問題是系統管理員面臨的一個比較有挑戰性的任務。操作系統的內核往往經預先調節,以保證系統在各種負載狀態下都有令^滿意的可用性。因此,調整控制頁面調度系統和緩沖池的內核變量的方法,往往會導致降低了系統的整體性能,一般不推薦采用。對系統的調整,必須建立在充分了解內核相關知識、應用軟件配置、系統運行環境,及必要訓練的基礎上,并經過試驗及驗證。
1.1控制系統性能的基本規則
1)不要使系統或者網絡過載。一方面,系統或網絡過載,會造成進程請求資源調用沖突:另一方面,進程的輪詢本身就消耗了很大的系統資源。
2)收集并檢查系統的歷史信息。如果系統前一星期還性能良好,則檢查最近對系統進行更改可能有助于問題的發現。應該準備好常規的基準資料,以備不時之需。
1.2影響系統性能的因素
系統性能表現在系統資源分配及共享的效率。顯著影響系統性能的四種資源包括:
1)CPU時間;2)內存;3)硬盤I/O帶寬;4)網絡I/O帶寬。
1.3性能問題的常用措施
1)確定系統有足夠的內存。2)改正使用上的問題。3)考慮使用負載平衡網絡設備,以資流量分散到若干系統。4)組織系統的磁盤和文件系統,以平衡負載,從而得到最大的I/O吞吐量。5)對于數據庫等應用,可以利用多磁盤技術,如RAID,優化數據傳輸。6)監視網絡,確保流量不會飽和,并且出錯率低。7)配置內核,消除不必要的驅動程序和選項,并使用適當大小的表。8)配置內核、消除不必要的驅動程序和選項,并使用適當大小的表。9)識別系統上基本上不足以滿足的需求。
2 TCP連接特征
2.1 TCP連接建立與終止的時間序列
TCP是面向連接的通訊協議。其中,建立連接(ESTABLISH):端與端間需要三個報文段,這個過程俗稱三次握手。關閉連接(CLOSED):端對端問需要四個報文段。
2.2 TCP連接的定時器
對每個連接,TCP管理4個不同的定時器。
1)重傳定時器—使用于當希望收到另一端的確認。首次分組傳輸與復位信號傳輸之間的時間差約為9分鐘,該時間由tcp—ip_abort_interval變量控制。
2)堅持定時器—PersistTimer使窗口大小信息保持不斷流動,即使另—端關閉了其接收窗口。
3);疃〞r器——Keepalive Timer,可檢測到—個空閑連接的另一端何時崩潰或重啟。許多時候—個服務器希望知道客戶主機是否崩潰并關機或者崩潰又重新啟動。許多TCP實現提供的;疃〞r器可以提供這種能力。
4)2MSL定時器—測量—個連接處于TIME-WAIT狀態的時間。
2.3 TCP服務器的設計&呼入請求隊列
TCP連接通常是由客戶端發起的,這樣第一個SYN從客戶傳到服務器。每一端都能主動關閉這個連接(即首先發送FIN)。然而,一般由客戶端決定何時終止連接,因為客戶進程通常由用戶交互控制,用戶會鍵入諸如“quit”—樣的命令來終IE進程。
大多數的TCP服務器進程是并發的。當一個新的連接請求到達服務器時,服務器接受這個請求,并調用—個新進程來處理這個新的客戶請求。不同的操作系統使用不同的技術來調用新的服務器進程。在Uni*系統下,常用的技術是使用fork函數來創建新的進程。如果系統支持,也可使用輕型進程,即線程(Thread)。
呼入連接請求隊列:一個并發服務器調用一個新的進程來處理每個客戶請求,因此處于被動連接請求的服務器應該始終準備處理下一個呼入的連接請求。那正是使用并發服務器的根本原因。
但是,當服務器正處于忙時,TCP是如何處理這些呼入的連接請求?可能的情況:
1)有可能出現當服務器在創建—個新的進程時,到達新的連接請求。
2)操作系統正忙于處理優先級更高的進程時,到達多個連接請求。如果應用層不能及時接受已被TCP接受的連接,這些連接可能占滿整個連接隊列,客戶的主動打開最終將超時。
2.4 HTTP協議應用的性能問題
HTTP是—個簡單的協議?蛻舫绦蚺c服務器建立一個TCP連接,發送請求并讀回服務器的響應。服務器通過關閉連接來指示它的響應結束。客戶請求是簡單的ASCII文本,服務器的響應也是以ASCII文本開始(首部),后面跟著數據(可以是ASCII或二進制數據)。
1)影響交互式用戶響應時間的最大因素是HTTP協議中使用的TCP連接HTTP帶來的最大的性能問題是每個文件使用一條TCP連接。面向字節的TCP數據流與面向報文的HTTP服務不匹配。
2)客戶與服務器之間的RTT和服務器的負載是影響響應時間的其他因素連接建立較慢增加了時延。連接建立時間主要取決于客戶請求報文和服務器的MSS通告報文。
3)HTTP連接由服務器關閉和其它通用Internete服務,如Telnete服務或FTP服務不同,HTTP連接通常由服務器關閉,服務器經過TIME-WAIT時延后關閉連接,導致在繁忙的服務器上許多控制塊停留在該狀態。
3系統性能檢查
大多數性能分析工具給出的是某個時間點上的狀態。但是,負載的數量或特性會隨時間的推移而變化,有關系統性能的準確信息,必須經過長期的數據采集才能體現。因此,在采取措施之前,應保證采集了代表性的數據。
本節針對各種性能指標,就可用的命令行檢查工具,結合具體示例分別予以說明。
CPU使用情況檢查:與CPU相關的三種性能數據是:1)CPU總體占用率。2)平均負載。3)每個進程的CPU占用率。
CPU總體占用率有助于辨別系統中CPU的運行速度是否是系統的性能瓶頸:平均負載讓我們對系統的總體性能有一個印象;通過觀察每個進程的CPU占用率數據,可以識別占用系統資源過多的進程。
4總結
通常在服務器應用性能分析時,要看具體業務應用方式;如FTP服務注重于磁盤I/O性能調優及CPU的使用上,WEB服務要注重網絡連接數、每個連攜肖化的內存資源使用和釋放、以及連接最大時長:根據各種應用的不同而分別對待,重要的是可通過以上各種手段抓住業務應用高峰期的特征,做到有的放矢、對癥下藥的性能調優工作。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:服務器應用性能分析