響應時間

各項硬件的資源,如CPU、內存、硬盤輸入輸出、網絡帶寬等等。在實際查看架構之前,先強調一個觀念,不管是使用系統上哪一種資源,當使用率持續超過80%時,系統的性能一定會急速下滑,而不會顯示線性關係,如下圖所示:

    響應時間




               
               使用率        80%
           資源使用率與系統響應時間的關係
注:從《操作系統》的知識來理解,如果在多用戶環境中cup的使用率大於80%,進程就會在運行隊列中花費大量的等待時間,響應時間和吞吐量就會下降。
3.1,內存Memory
      通常系統中所發生的問題是由於內存不足所導致,這是較常見的。所以我們應該先監視內存,確認我們的服務器有足夠的內存。若要執行 windows 2000 上的 iis 5.0(如MOD的web服務),一個專用web 服務器所需 ram 的最小容量是 128mb,但最好是 256mb 到 1gb。因爲「iis 文件緩存」默認是使用最多一半可用的內存,因此備有的內存越多,「iis 文件緩存」就越多。

  附註:windows 2000 advanced server 最多可支持 8gb 的 ram,但是「iis文件緩存」將不會利用 4gb 以上的 ram。
     所有在Windows系統執行的應用程序都以爲自已最起碼有2GB的連續內存(稱之爲虛擬內存),當應用程序的線程在存取內存時,操作系統會將其映射(mapping)到某塊物理內存,若物理內存不足,操作系統就把物理內存中某些較少用到的區塊寫至硬盤,以空出該物理內存給當前需要的程序。
Available MBytes 可用物理內存數  
     說明:Available MBytes 是計算機上運行進程可用的物理內存數量,以兆字節爲單位。通過計算清零、空閒和待命內存列表的內存空間總數而得到。空閒內存可以馬上使用; 清零內存是由零值填滿的內存頁,用來防止後續進程獲得舊進程使用的數據; 待命內存是從進程工作集(其物理內存)中刪除然後進入磁盤的內存,但是該內存仍然可以收回。該計數器僅顯示最後一次觀察到的值; 不是平均值。
     技 術 :一般要保留10%的可用內存。最低最低不能<4M,此值過小可能是內存不足或內存泄漏;
     原 因 :因爲IIS默認最多會使用50%的可用內存供文件緩存使用,所以要保留10%的可用內存(以供尖峯時間使用)。
     知識點:物理內存、虛擬內存、IIS文件緩存、清0內存(程序常發生的錯誤)、待命內存。

       
Page Faults/sec、Pages Input/sec、Page Reads/sec
    注(重要):導致嚴重的延遲原因:是因爲硬件分頁錯誤。
     說 明: Page Faults/sec 是指處理器處理錯誤頁的綜合速率。用錯誤頁數/秒來計算。當處理器請求一個不在其工作集(在物理內存中的空間)內的代碼或數據時出現的頁錯誤。這個計數器包括硬錯誤(那些需要磁盤訪問的)和軟錯誤(在物理內存的其它地方找到的錯誤頁)。許多處理器可以在有大量軟錯誤的情況下繼續操作。但是,硬錯誤可以導致明顯的拖延。
      Pages Input/sec 指爲解決頁錯誤從磁盤上讀取的頁數。(當處理需要不在其工作集或物理內存的任何地方的代碼或數據,而需要從磁盤上檢索時出現硬頁錯誤)。
             Page Reads/sec 是指爲解析硬頁錯誤而讀取磁盤的次數。(當處理請求的硬 頁錯誤不在工作集和物理內存其它地方中的代碼或數據,而必須從磁盤上檢索時 就會出現硬頁錯誤)。如果 Page Reads/Sec 比率持續保持爲 5,表示可能內存不足(閾值爲>5.越小越好)。

     可能引起頁面錯誤的操作:應用程序向內存請求一個分頁,但系統無法在所需的位置上找到它,就構成了一個頁面錯誤。
     技 術:
         總述:可能涉及到1,由於頁交換而導致內存不足;2,由於頁交換而導致磁盤瓶頸;
               當這些值很低時,服務器應該可以很快地響應請求;當這些值較高時,是因爲你花了太多的內存在緩存處理上,而沒有留足夠的內存供系統的其它部份使用。可以增加內存或降低緩存的ram大小來解決;
         詳細:
              page Faults/sec:只表明數據不能在內存的指定工作集中立即使用;
              page Input/sec: page input/sec > page reads/sec;
              page Reads/sec: 閾值爲>5.越小越好,大數值表示磁盤讀而不是緩存讀;
Page/sec:指爲解析硬頁錯誤從磁盤讀取或寫入磁盤的頁數(是Pages Input/sec 和 Pages Output/sec 的總和)。其值推薦00-20如果服務器沒有足夠的內存處理其工作負荷,此數值將一直很高。如果大於80,表示有問題(太多的讀寫數據操作要訪問磁盤,可考慮增加內存或優化讀寫數據的算法),如果值比較低,說明Web 服務器響應請求比較快,否則可能是服務器系統內存短缺引起( 也可能是緩存太大,導致系統內存太少)。

3.2,Processor
隨着用戶請求從網站獲得快速的響應時間,以及在這些網站上不斷增加的動態內容,需要利用到快速、有效的處理器用量。當一個或多個進程幾乎耗盡所有處理器時,就會發生瓶頸,這會迫使準備好執行的進程線程必須在隊列中等待處理器時間。
(web方面) windows 2000 及 iis 5.0 的最大性能增益來自於解決內存問題。在決定改變web 服務器上處理器的個數之前,請先排除內存問題,再監視下列「性能計數器」。
% Processor Time 指處理器執行非閒置線程時間的百分比;通俗一點講就是CPU 使用率。這是監視處理器活動的主要指示器。它通過在每個範例間隔中衡量處理器用於執行閒置處理線程的時間,並且用100%減去該值得出。(每臺處理器有一個閒置線程,該線程在沒有其它線程可以運行時消耗週期)。可將其視爲範例間隔用於做有用工作的百分比。
正常值<90,此值過大表示處理器的性能已經不能應付程序的要求,要換更快的處理器。該數值持續超過 90%,則表示此測試的負載對於目前的硬件過於沉重。排除內存因素,如果該計數器的值比較大,而同時網卡和硬盤的值比較低,那麼可以確定CPU 瓶頸。

Processor Queue Length:是指處理列隊中的線程數。顯示在由 Web服務器所有處理器共享的隊列中等待執行的線程數。如果處理器列隊中總是有2個以上的線程通常表示處理器堵塞。
參考值:小於2。處理器瓶頸會導致該值持續大於 2。


3.3, Physical Disk:
    因爲 MOD的WEB(iis 5.0) 會將記錄文件寫入磁盤上,所以在一般磁盤活動中,甚至會有高達 100 % 的客戶端緩存存取次數。一般來說,如果有記錄以外的大量磁盤讀取活動,即表示系統上有其它區域需要調整。例如,硬件分頁錯誤會導致大量的磁盤活動,但它們表示 ram 不足。

%Disk Time %:  指所選磁盤驅動器忙於爲讀或寫入請求提供服務所用的時間的百分比。如果三個計數器都比較大,那麼硬盤不是瓶頸。如果只有%Disk Time比較大,另外兩個都比較適中,硬盤可能會是瓶頸。在記錄該計數器之前,請在Windows 2000 的命令行窗口中運行diskperf -yD。正常值<10,此值過大表示耗費太多時間來訪問磁盤,可考慮增加內存、更換更快的硬盤、優化讀寫數據的算法。若數值持續超過80 (此時處理器及網絡連接並沒有飽和),則可能是內存泄漏。

Pages per second :  每秒鐘檢索的頁數。該數字應少於每秒一頁。


如果這三個計數器(processor: % processor time, network interface connection: bytes total/sec及physicaldisk: % disk time)的值都很高,則硬盤不會引起站點的瓶頸。

補充:
  Avg. Disk Queue Length 指讀取和寫入請求(爲所選磁盤在實例間隔中列隊的)的平均數。正常值<0.5,此值過大表示磁盤IO太慢,要更換更快的硬盤。
  Disk Transfers/sec 指在此盤上讀取/寫入操作速率。正常值<(Disk Bytes/sec)/3,此值過大表示系統要求的IO速度已接近硬盤的最大速度,要更換更快的硬盤。
    磁盤使用情況計數器和內存計數器(磁盤瓶頸or內存不足?):
Physical Disk\ % Disk Time 、Physical Disk\ Avg.Disk Queue Length 例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率並未降低,則內存不足。

   3.4, 網絡容量、等待時間及帶寬  
  測試目標:在系統試運行之後,需要及時準確地瞭解網絡上正在發生什麼事;什麼應用在運行,如何運行;多少PC正在訪問LAN或WAN;哪些應用程序導致系統瓶頸或資源競爭
作用
1,分析關鍵應用程序的性能
2,定位問題的根源是在客戶端、服務器、應用程序還是網絡
3,哪些應用程序佔用大量帶寬
  基本上,網絡是客戶端向服務器傳送請求的線路。它花在您的服務器上來回傳遞這些請求及響應的時間,對用戶能察覺的服務器性能來說是個最大限制因素之一。這種請求-響應的循環時間就稱爲等待時間,等待時間對於web 服務器管理員來說幾乎是無法控制的。例如,您對 internet 上速度緩慢的路由器,或是客戶端及服務器之間的物理距離所能作的處理實在不多。
   在主要是由靜態內容組成的站點上,網絡帶寬最有可能是性能瓶頸的來源。即使是一般的服務器也可能用滿一條 t3 連接 (45mbps) 或 100mbps fast ethernet 連接。測量有效帶寬最簡單的方法是判定您的服務器是以哪個速度傳送及接收資料的。
Network Interface Bytes Total/sec: 爲發送和接收字節的速率,包括幀字符在內。判定網絡連接是否存在瓶頸。若要在傳送量中留些空間供尖峯時間用,則不應常使用超過 50% 的容量。如果這個數字十分接近連接的容量,而處理器及內存的使用都很適中,則此連接也會是個問題。參考值:該計數器的值和目前網絡的帶寬相除,結果應該小於50%。
如果您正在計算機上執行的其他服務也使用網絡連接,請監視「web service: maximum connections」及「web service: total connection attempts」計數器,以檢查您的web服務器是否能夠儘可能地使用它需要的連接數目。請記得將這些數字與內存及處理器使用量作比較,如此才能確定連接就是問題,而不是其它組件有問題。
Connection Attempts/sec:Web服務嘗試連接的頻率。
Maximun Connections:“最大連接數”是和Web服務同時建立起來的最大連接數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章