如何測試伺服器的運行情況
『壹』 如何測試伺服器
伺服器測試方法
伺服器測試方法分為兩個大方面,性能測試與功能測試。
我們在性能測試方面採用了新的測試方法,主要分為文件測試、資料庫性能測試與
Web
性能測試三個
方面。其中,文件性能與資料庫性能採用美國
Quest
軟體公司的
Benchmark Factory
負載測試和容量規劃
軟體,
Web
性能測試則使用了
Spirent
公司提供的
Caw WebAvalanche
測試儀。
一、性能測試
1
、文件性能測試方法
Benchmark Factory
軟體能按照文件讀寫的關鍵指標定製事務。軟體最大支持
1000
個虛擬客戶。
本次測試環境包括
10
台配置為
PIII800/128MB
內存
/20G
硬碟以上的客戶端,它們用來模擬虛擬用戶。
控制台為配置是
PIII 850/128MB
內存
/40G
硬碟的
Acer
筆記本電腦。交換機為帶有兩個千兆
GBIC
介面、
24
個
10/100M
自適應埠的
Cisco 2950
,客戶端與控制台通過
100M
網卡連到交換機上,被測伺服器則通
過千兆光纖網卡與交換機相連接。
被測伺服器均安裝帶
SP4
的
Windows
2000
Advanced Server
操作系統,在所有三項性能測試中都統一
RAID
級別為
5
。
在具體測試方案設置上,測試軟體把決定文件讀寫操作的關鍵因素設定為:讀
/
寫、隨機
/
順序、操作
塊大小、對象大小四個。在本次測試中,考慮到我們設有單獨的資料庫及
Web
測試項目,所以在文件測試
中,我們把目標確定為測試伺服器基本的
I/O
性能,這主要由網路介面、系統帶寬、磁碟子系統等幾大部
分所決定。同時,從幾部分的作用看,以大操作塊讀寫大對象文件,小操作塊讀寫小對象文件,較能反映
伺服器最基本的
I/O
性能,即「大操作塊讀寫大文件」對系統帶寬、緩存的考察,以及「小操作塊讀寫小
文件」對磁碟子系統、網路介面的考察。最終我們確定的四個事務是:
大文件順序讀寫
(
操作塊
8KB
,對象文件
80% 500KB
、
20% 1MB)
大文件隨機讀寫
(
操作塊
8KB
,對象文件
80% 500KB
、
20% 1MB)
小文件隨機讀
(
操作塊
1KB
,對象文件
80% 1KB
、
10% 10KB
、
10% 50KB)
小文件順序寫
(
操作塊
1KB
,對象文件
80% 1KB
、
10% 10KB
、
10% 50KB)
每個事務的用戶數均以固定步長逐漸增加,
最大可增加到
1000
個虛擬用戶。
其中,
「大文件順序讀寫」
事務的用戶數按照
40
的步長從
1
可增加到
400
個
(
測試至強伺服器
)
或
200
個
(
測試
TUALATIN
伺服器
)
,其
他事務則將用戶數按照
100
的步長從
1
增加至
1000
。我們期望得到其在不同用戶數時被測伺服器的性能表
現。總體上其走勢及峰值反映了該伺服器的性能。每項事務均運行三次,每次之間被測伺服器進行重啟,
最終結果為三次平均值。
2
、資料庫性能測試方法
「乘機安全小貼士」安全出行要重視
資料庫性能測試同樣使用了
Benchmark Factory
軟體,測試環境如同文件性能測試。測試時,在被測
伺服器上安裝
SQL Server 2000
使用企業版。首先在被測伺服器上創建新的資料庫,通過使用
Benchmark
Factory
預定義的
Database Spec
項目向資料庫中創建表,裝載數據。在伺服器端創建以
CPU
計算為主的
存儲過程,通過
10
台客戶機模擬用戶、按照
40
個虛擬用戶的步長遞增到
400
個用戶,執行該存儲過程。
結果是以獲得的每秒事務數
(TPS)
衡量伺服器的資料庫事務處理能力。
整個測試分為三次,
每次之間重新啟
動被測伺服器,最終取三次平均值作為評價結果。
3
、
Web
性能測試方法
Web
性能測試工具是由
Spirent
公司提供的
Caw WebAvalanche
。
WebAvalanche
模擬實際的用戶發出
HTTP
請求,
並根據回應給出具體的詳細測試結果。
它有以下特點:
能夠模擬成百上千的客戶端對伺服器發
出請求
;
能夠模擬真實的網路應用情況,
比如網站在高峰期的訪問量應該是動態的維持,
有新客戶端的加入,
同時也有原客戶的離去,
訪問量不是固定不變的
;
可以產生
20000
個連接
/
秒請求量,
足以滿足測試的需要
;
測試項目豐富,有訪問請求的成功失敗數,有
URL
和頁面的響應時間,有網路流量數,還有
HTTP
和
TCP
協
議的具體情況。
測試時,被測伺服器與
WebAvalanche
上都裝有千兆光纖網卡,兩網卡通過光纖直接連接。監控端
(
配
置為
PIII 1GHz/128M
內存
/20G
硬碟
)
安裝了帶
SP4
的
Windows 2000 Server,
該監控端與
WebAvalanche
通
過交叉線直連。在監控端通過
Web
瀏覽器配置
WebAvalanche
,在被測伺服器安裝了
SQL Server 2000
企業
版,並用微軟的
IIS
建立了
Web
伺服器。
測試分為靜態性能與動態性能兩部分。主要是因為在實際的
Web
應用中,有的站點靜態內容居多,提
供的服務也絕大多數是靜態的,
因此,
他們就會特別的關心伺服器靜態性能
;
同樣,
有的站點提供的服務交
互性的內容居多,他們就會更關心伺服器的動態性能。
被測網站中頁面大小及靜態、動態頁面所佔比例均參照實際網站得出,整個網站靜態、動態頁面所佔
比例是
70%
和
30%
,使用的動態頁面類型為
ASP
。請求頁面樣本的文件大小分布比例與整個網站的相同。
靜態性能測試模擬發出的均是靜態頁面請求。在測試動態性能時,動態頁面的訪問請求占
20%
,其餘
80%
為靜態頁面請求。我們根據實際的
Web
伺服器一天中的運行情況建立了一個伺服器頁面請求模型,該
模型由
4
個階段組成,第一階段是預熱階段,
WebAvalanche
發出的請求量由
0
慢慢上升到
200;
第二階段
是逐步加壓階段,請求量逐步累加到最大值
8200;
第三階段是動態維持階段
;
第四階段是下降階段,請求量
由最大值迅速下降為
0
。其中,最大請求量略大於實際伺服器能夠提供的事務處理量。
被測伺服器的靜態與動態測試分別測試三遍,每遍之間被測伺服器和測試儀均重啟,結果取三次的平
均值。由此可見,此伺服器測試方法立志於最終結果的准確性。
二、功能測試
在功能測試方面,我們對被測伺服器的可擴展性、可用性以及可管理性進行了綜合評價,其中可擴展
性包括硬碟、
PCI
槽以及內存等的擴展能力,可用性包括對熱插拔、冗餘設備
(
如硬碟、電源、風扇、網卡
等
)
的支持,可管理性則指的是伺服器隨機所帶的管理軟體。
我們在對伺服器進行總體評價時,綜合了性能、功能和價格三方面因素,依據《網路世界》所做的用
戶調查結果,分別給予不同權重,性能占
50%
,功能占
40%
,而價格則占
10%
。在分析性能時,資料庫性能
占其中的
50%
,而文件性能占
30%
,
Web
性能占
20%
。
綜上所述,這種全新的伺服器測試方法更夠更准確更直接的對伺服器進行測試,而且數據更加精確。
希望能給又需要的讀者朋友帶來一定的幫助
。
謝謝採納。
『貳』 如何在Windows伺服器做性能測試
一、遠程連接到Windows伺服器,使用windows系統自帶工具進行收集性能數據
1、Windows伺服器中自帶的性能監控工具叫做Performance Monitor,在開始-運行中輸入『Perfmon.msc』,然後回車即可運行。通過界面,控制面板所有控制面板項管理工具性能監視器也能打開
5、用EXCEL將數據轉換為折線圖,並分析性能情況
二、分析性能情況
(1)內存泄露判斷
●虛擬內存位元組數(VirtualBytes)應該遠大於工作集位元組數(Workingset),如果兩者變化規律相反,比如說工作集增長較快,虛擬內存增長較少,則可能說明出現了內存泄露的情況。
●對於Workingset、Private Bytes、Availablebytes這些計數器,如果在測試期間內數值持續增長,而且測試停止後位置在高水平,則也說明存在內存泄露。
●Windows資源監控中,如果ProcessPrivateBytes計數器和ProcessWorkingSet計數器的值在長時間內持續升高,同時MemoryAvailable
bytes計數器的值持續降低,則很可能存在內存泄漏。
(2)CPU使用情況
●一般平均不要超過70%,最大不要超過90%(好:70% 、壞:85%、 很差:90%)
(3)tps(每秒處理事務的數量,在SOAPUI中進行統計)
●一般在10-100,不同應用程序具體值不同
1234567891011121314151617
幾個常用參數的參考值:CPU:% ProcessorTime:表示CPU的使用率,如果值大於80表示CPU的處理調度能力偏低。硬碟:% DiskTime:表示硬碟的I/O操作的頻率(繁忙時間),如果值大於80表示硬碟I/O調度能力偏低。Average Disk QueueLength:表示硬碟I/O操作等待隊列的長度,如果值大於2表示硬碟I/O調度能力偏低。內存Pages/Sec:表示系統對虛擬內存每秒鍾的訪問次數,如果值大於20表示有內存方面的問題。(有可能是物理內存偏低,也有可能是虛擬內存沒有配置正確。一般情況下虛擬內存應為物理內存的1.5-2倍)CommittedBytesandAvailable Bytes:CommittedBytes表示虛擬內存的大小,Available Bytes表示剩餘可用內存的大小。正常情況下,Available Bytes減少,pages(頁面數)應該增加,提供頁面交換。<br>如果Available Bytes的值很小表示物理內存偏低。當關閉一些應用以後,CommittedBytes應該減少,Available Bytes應該增加。因為關閉的進程釋放了之前佔用的內存資源。如果相應的值沒有發生變化,那麼該進程就可能造成了內存泄漏。Cache Bytes:表示系統緩存的大小。如果值大於4M表示物理內存偏低。
三、關於計數器的選擇
perfmon的計數器主要分四種:處理器性能計數器、內存性能計數器、磁碟性能計數器以及網路性能計數器。
以下為監控伺服器常用的計數器:
常用的性能對象與指標
性能對象
計數器
提供的信息
Processor
% Idle Time
% Idle Time 是處理器在采樣期間空閑的時間的百分比
Processor
% Processor Time
% Processor Time 指處理器用來執行非閑置線程時間的百分比。計算方法是,測量範例間隔內非閑置線程活動的時間,用範例間隔減去該值。這個計數器是處理器活動的主要說明器,顯示在範例間隔時所觀察的繁忙時間平均百分比。
Processor
% User Time
% User Time 指處理器處於用戶模式的時間百分比。用戶模式是為應用程序、環境分系統和整數分系統設計的有限處理模式。
Memory
Available Bytes
Available Bytes顯示出當前空閑的物理內存總量。當這個數值變小時,Windows開始頻繁地調用磁碟頁面文件。如果這個數值很小,例如小於5 MB,系統會將大部分時間消耗在操作頁面文件上。
Memory
% Committed Bytes in Use
% Committed Bytes In Use 是 Memory: Committed Bytes 與Memory: Commit Limit之間的比值。(Committed memory指如果需要寫入磁碟時已在分頁文件中保留空間的處於使用中的物理內存。Commit Limit是由分頁文件的大小而決定的。如果擴大了分頁文件,該比例就會減小)。這個計數器只顯示當前百分比;而不是一個平均值。
Memory
Page Faults/sec
Page Faults/sec是指處理器處理錯誤頁的綜合速率。用錯誤頁數/秒來計算。當處理器請求一個不在其工作集(在物理內存中的空間)內的代碼或數據時出現的頁錯誤。這個計數器包括硬錯誤(那些需要磁碟訪問的)和軟錯誤(在物理內存的其它地方找到的錯誤頁)。許多處理器可以在有大量軟錯誤的情況下繼續操作。但是,硬錯誤可以導致明顯的拖延。這個計數器顯示用上兩個實例中觀察到的值之間的差除以實例間隔的持續時間所得的值。
Network Interface
Bytes Total/sec
Bytes Total/sec是發送和接收位元組的速率,包括幀字元在內。
Network Interface
Packets/sec
Packets/sec為發送和接收數據包的速率。
Physical Disk
% Busy Time
% Busy Time指磁碟驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。
Physical Disk
Avg. Disk Queue Length
Avg. Disk Queue Length 指讀取和寫入請求(為所選磁碟在實例間隔中列隊的)的平均數。
Physical Disk
Current Disk Queue Length
Current Disk Queue Length指在收集操作數據時在磁碟上未完成的請求的數目。它包括在快照內存時正在為其提供服務中的請求。這是一個即時長度而非一定間隔時間的平均值。多主軸磁碟設備可以一次有多個請求操作,但是其它同時發生的請求為等候服務。這個計數器可能會反映一個暫時的高或低的列隊長度,但是如果在磁碟驅動器存在持續負載,可能值會總是很高。請求等待時間與這個列隊的長度減去磁碟上的主軸成正比。這個差值應小於2才能保持良好的性能。
Logical
Disk
% Free Space
% Free Space 是所選定的邏輯磁碟驅動器上總的可用空閑空間的百分比。
Logical
Disk
Free Megabytes
可用的 MB 顯示磁碟驅動器上尚未分配的空間。
以下為監控進程常用的計數器:
Process對象的主要指標
性能對象
計數器
提供的信息
Process
% Privileged Time
% Privileged Time 是在特權模式下處理線程執行代碼所花時間的百分比。當調用 Windows 系統服務時,此服務經常在特權模式運行,以便獲取對系統專有數據的訪問。在用戶模式執行的線程無法訪問這些數據。對系統的調用可以是直接的(explicit)或間接的(implicit),例如頁面錯誤或間隔。
Process
% Processor Time
% Processor Time 是所有進程線程使用處理器執行指令所花的時間百分比。指令是計算機執行的基礎單位。線程是執行指令的對象,進程是程序運行時創建的對象。此計數包括處理某些硬體間隔和陷阱條件所執行的代碼。
Process
% User Time
% User Time 指處理線程用於執行使用用戶模式的代碼的時間的百分比。應用程序、環境分系統和集合分系統是以用戶模式執行的。Windows 的可執行程序、內核和設備驅動程序不會被以用戶模式執行的代碼損壞。
Process
Creating Process ID value
Creating Process ID value 指創建該進程的父進程號。
Process
Elapsed Time
該進程運行的總時間(用秒計算)。
Process
Handle Count
由這個處理現在打開的句柄總數。這個數字等於這個處理中每個線程當前打開的句柄的總數。
Process
ID Process
ID Process 指這個處理的特別的識別符。ID Process 號可重復使用,所以這些 ID Process 號只能在一個處理的壽命期內識別那個處理。
Process
IO Data Bytes/sec
處理從 I/O 操作讀取/寫入位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Data Operations/sec
本處理進行讀取/寫入 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Other Bytes/sec
處理給不包括數據的 I/O 操作(如控制操作)位元組的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Other Operations/sec
本處理進行非讀取/寫入 I/O 操作的速率。例如,控制性能。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Read Bytes/sec
處理從 I/O 操作讀取位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Read Operations/sec
本處理進行讀取 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Write Bytes/sec
處理從 I/O 操作寫入位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備。
Process
IO Write Operations/sec
本處理進行寫入 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
Page Faults/sec
Page Faults/sec 指在這個進程中執行線程造成的頁面錯誤出現的速度。當線程引用了不在主內存工作集中的虛擬內存頁即會出現 Page Fault。如果它在備用表中(即已經在主內存中)或另一個共享頁的處理正在使用它,就會引起無法從磁碟中獲取頁。
Process
Page File Bytes
Page File Bytes 指這個處理在 Paging file 中使用的最大位元組數。Paging File 用於存儲不包含在其他文件中的由處理使用的內存頁。Paging File 由所有處理共享,並且 Paging File 空間不足會防止其他處理分配內存。
Process
Page File Bytes Peak
Page File Bytes Peak 指這個處理在 Paging files 中使用的最大數量的位元組。
Process
Pool Nonpaged Bytes
Pool Nonpaged Bytes 指在非分頁池中的位元組數,非分頁池是指系統內存(操作系統使用的物理內存)中可供對象(指那些在不處於使用時不可以寫入磁碟上而且只要分派過就必須保留在物理內存中的對象)使用的一個區域。這個計數器僅顯示上一次觀察的值;而不是一個平均值。
Process
Pool Paged Bytes
Pool Paged Bytes 指在分頁池中的位元組數,分頁池是系統內存(操作系統使用的物理內存)中可供對象(在不處於使用時可以寫入磁碟的)使用的一個區域。這個計數器僅顯示上一次觀察的值;而不是一個平均值。
Process
Priority Base
這次處理的當前基本優先權。在一個處理中的線程可以根據處理的基本優先權提高或降低自己的基本優先權。
Process
Private Bytes
Private Bytes 指這個處理不能與其他處理共享的、已分配的當前位元組數。
Process
Thread Count
在這次處理中正在活動的線程數目。指令是在一台處理器中基本的執行單位,線程是指執行指令的對象。每個運行處理至少有一個線程。
Process
Virtual Bytes
Virtual Bytes 指處理使用的虛擬地址空間的以位元組數顯示的當前大小。使用虛擬地址空間不一定是指對磁碟或主內存頁的相應的使用。虛擬空間是有限的,可能會限制處理載入資料庫的能力。
Process
Virtual Bytes Peak
Virtual Bytes Peak 指在任何時間內該處理使用的虛擬地址空間位元組的最大數。
Process
Working Set
Working Set 指這個處理的 Working Set 中的當前位元組數。Working Set 是在處理中被線程最近觸到的那個內存頁集。如果計算機上的可用內存處於閾值以上,即使頁不在使用中,也會留在一個處理的 Working Set中。當可用內存降到閾值以下,將從 Working Set 中刪除頁。如果需要頁時,它會在離開主內存前軟故障返回到 Working Set 中。
Process
Working Set Peak
Working Set Peak 指在任何時間這個在處理的 Working Set 的最大位元組數。
『叄』 如何監測windows伺服器的性能
Windows伺服器中自帶的性能監控工具叫做Performance Monitor;
在開始-運行中輸入『perfmon』,然後回車即可運行。
Monitor本身也是一個進程,運行起來也要佔用一定的系統資源。所以你看到的資源的使用量應該比實際的要稍微高一點。這個工具在幫助管理員判斷系統性能瓶頸時非常有用;
舉個列子來說,今天有個用戶抱怨說他們項目組的伺服器(這是一台虛擬機)運行起來非常慢,但也不知道具體問題出在什麼地方。任務管理器里顯示CPU和內存的使用量都不算高,但伺服器的相應就是非常慢;
Monitor,讓其運行一段時間後(因為參考平均值會比較准確),發現average disk queue的值比較高,這就說明物理伺服器的硬碟負荷太重,I/O操作的速度跟不上系統的要求。關掉虛擬機,將其轉移到另一台硬碟負載比較小的主機上,再打開虛擬機。
『肆』 怎麼才能實現隨時隨地監測伺服器運行情況
針對每一個問答都本著絕不大膽胡說,只管小心求證的態度,瘋評科技來解答您的提問。
想要隨時隨地監測伺服器的運行情況,需要使用專業的監控軟體。下面具體來說一說。
監控軟體的功能要求
首先理清楚自己的需求,需要監控什麼指標,監控方式,能否預警,歷史數據是否保存,是否需要圖形,只有對這些進行了充分了解,才能進行目標選定。
常用監控指標如下:
設備的運行狀態有cpu使用情況,內存使用情況,硬碟使用情況,設備溫度,運行時間等。
網路運行狀態有流量,網卡狀態,埠狀態,路由條目數,路由協議狀態等。
其它有ups運行狀態,電量,光纖功率,電源狀態等。
監控方式有snmp,,wmi,agent等。
預警需求有簡訊,電話,郵件,微信等。
相信經過這一系列的了解,對監控軟體就走了選型了,這里我自己管理的網路用的流量監控軟體是cacti和zabbix,其它狀態監控用的是PRTG,還有設備廠商自帶的監控軟體。
監控軟體的安裝部署
在選定了監控軟體後就是進行安裝部署了,選畢碧用本宴槐地伺服器還是雲伺服器都是可以的,需要伺服器保持穩定,能夠存儲一定量的監控數據。
有的監控軟體安裝比較簡單,比如Windows環境下的,涉及到資料庫安裝的就復雜一些,相比較而言,Linux下的監控軟體性能更好,更穩定,當然非專業人員部署起來也比較困難。
監控軟體安裝完成後,需要進行必要的配置,包括監控目標的添加,參數調整,閾值設置,預警方式等。
在設置完整後,需要對所有配置保存並備份,並做定期備份計劃,以確保數據安全。
隨時隨監測伺服器
經過手祥舉前面的准備,我們已經可以實現隨時隨地監測伺服器了。具體實施可以如下來做:
有web登錄功能的監控軟體直接在手機瀏覽器中訪問,並存入收藏夾,以被隨時登錄查看伺服器狀態。
有app客戶端的監控軟體則直接在手機上安裝app進行查看。
沒有web和app登錄方式的則手機需要有遠程軟體,進行遠程登錄查看。
通過上述所說,用手機即可以輕松實現隨時隨地監測伺服器的情況,當然有條件的,可以對監控軟體進行二次開發或者自己開發所需功能的監控軟體。