1、伺服器硬體測試教程
1概述
1.1背景
本文的編寫背景是目前機房伺服器資源存在未充分使用的現象,為了合理分
配資源,現需要對伺服器自身性能進行評估,探索一套評估方法,從而為後續資源合理分配提供依據。
1.2評測指標
簡單來說,伺服器硬體性能指標來自於測試對象,一般x86伺服器的主要組
成有CPU、內存、硬碟、網卡等。針對單機,評測指標重點關注CPU、內存、IO、網路;對於集群,重點關注網路、高可用。
本文主要評測單機性能,指標如下:
CPU—計算能力
內存—延時、速率
IO—讀寫能力
網路—網路帶寬
1.3工具概況
CPU主流評測工具有Linux平台的SPECCPU、linpack,Windows平台的Sandra。
內存主流評測工具有Linux平台的stream,Windows平台的Sandra。
IO主流評測工具有Linux平台的Iozone,Windows平台的Iometer。
網路主流評測工具有Linux平台的iperf、netperf。
其他一些對整體系統進行評測的工具就不再介紹了,例如SPEC系列、TPC基準系列。
2 CPU性能
2.1評測方法
關於Linux測試cpu性能,有3個重要的概念:上下文切換(context switchs),運行隊列(Run queue)和使用率(utilization)。
業務運行中最關注的CPU項就是使用率,使用率是和業務負載強相關的,通常可以通過監控軟體或Linux系統工具獲取。
另一個基本評測值就是計算能力,包括整數、浮點計算,可以使用SPECCPU、linpack測試。
2.2評測工具
CPU使用率是平時最關注的性能項,採用系統工具或第三方工具都可以。具體工具不再詳述。
CPU整數、浮點計算能力,是伺服器發布必測項,但是對於客戶卻不太重要,客戶關注的是業務運行時CPU的能力是否會成為瓶頸。評測工具主要有SPECCPU2006、Linpack:
SPEC CPU 2006包括了CINT2006和C FP2006兩個子項目,前者用於測量和對比整數性能,而後者則用於測量和對比浮點性能,SPEC CPU 2006包括了12項整數運算和17項浮點運算。
Linpack現在在國際上已經成為最流行的用於測試高性能計算機系統浮點性能的benchmark。通過利用高性能計算機,用高斯消元法求解N元一次稠密線性代數方程組的測試,評價高性能計算機的浮點性能,測試結果以浮點運算每秒(Flops)給出。
3 內存性能
3.1評測方法
內存性能一般關注的指標是延時、帶寬,測試方法有Windows下使用Sandra,Linux使用stream進行評測,可以得到當前內存的實際速率、延時。這是單獨針對內存的測試方法,但在實際應用中通常對內存的評測是在壓力、穩定性、性能測試時的監測內存的使用。
3.2評測工具
STREAM是業界廣為流行的綜合性內存帶寬實際性能測量工具之一。隨著處理器處理核心數量的增多,內存帶寬對於提升整個系統性能越發重要,如果某個系統不能夠足夠迅速地將內存中的數據傳輸到處理器當中,若干處理核心就會處於等待數據的閑置狀態,而這其中所產生的閑置時間不僅會降低系統的效率還會抵消多核心和高主頻所帶來的性能提升因素。STREAM具有良好的空間局部性,是對TLB友好、Cache友好的一款測試。STREAM支持Copy 、Scale 、 Add、 Triad四種操作。
4 IO性能
4.1評測方法
伺服器的存儲性能也就是指IO性能,通常評測的重點是各種數據塊(512B、4K、2M…)下的讀寫能力,具體指標有IOPS、帶寬、時延。測試原理是工具對存儲加壓也就是產生各種讀寫操作來測試整個IO的最大能力。
4.2評測工具
Iometer是Windows系統下對存儲子系統的讀寫性能進行測試的軟體。可以顯示磁碟系統的最大IO能力、磁碟系統的最大吞吐量、CPU使用率、錯誤信息等。用戶可以通過設置不同的測試的參數,有存取類型(如sequential ,random)、讀寫塊大小(如64K、256K),隊列深度等,來模擬實際應用的讀寫環境進行測試。
IOzone主要用來測試操作系統文件系統性能的測試工具,該工具所測試的范圍主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, Random Mix, Backwards Read, Record Rewrite, Strided Read, Fwrite, Frewrite, Fread, Freread, Mmap, Async I/O。使用iozone可以在多線程、多cpu,並指定cpu cache空間大小以及同步或非同步I/O讀寫模式的情況下進行測試文件操作性能。
5 網路性能
5.1評測方法
網路帶寬不難理解,就是系統收發包時的最大流量,一般分為TCP、UDP兩種模式。影響伺服器網路性能主要是網卡的性能,其他如系統內核、驅動也是相關因素。測試方法一般需要2台伺服器進行收發包,一端server,一端client。
5.2評測工具
Iperf是一個網路性能測試工具。Iperf可以測試TCP和UDP帶寬質量。Iperf可以測量最大TCP帶寬,具有多種參數和UDP特性。Iperf可以報告帶寬,延遲抖動和數據包丟失。利用Iperf這一特性,可以用來測試一些網路設備如路由器,防火牆,交換機等的性能。
Netperf是一種網路性能的測量工具,主要針對基於TCP或UDP的傳輸。
Netperf根據應用的不同,可以進行不同模式的網路性能測試,即批量數據傳輸(bulk data transfer)模式和請求/應答(request/reponse)模式。Netperf測試結果所反映的是一個系統能夠以多快的速度向另外一個系統發送數據,以及另外一個系統能夠以多快的速度接收數據。
2、剛租來的伺服器如何測試性能?
其實在租用之前.你應該先讓服務商提供下IP以及網站案例.測試好速度與穩定性後再決定是否租用.現在伺服器已經開通.你需要讓服務商把用戶名和密碼給你.如果你想測試的話建議把自己的網站架設上去.然後找各個不同地區的朋友幫你打開網站.參考下速度與穩定性.也可以藉助於一些測試網站.比如說卡卡測速網.來測試全國各地以及國外等不同地區訪問你網站所需要的時間.
3、伺服器性能測試中有哪些常用的性能指標?
伺服器性能測試中有以下常用的性能指標:
【吞吐量】 固定時間間隔內的處理完畢事務個數。通常是1秒內處理完畢的請求個數,單位:事務/秒(tps);
【平均吞吐量】一段時間內吞吐量的平均值。無法體現吞吐量的瞬間變化;
【峰值吞吐量】一段時間內吞吐量的最大值。是用來評估系統容量的重要指標之一;
【最低吞吐量】一段時間內吞吐量的最小值。如果最小值接近0,說明系統有「卡」的現象;
【70%的吞吐量集中區間】通過統計15%和85%的吞吐量邊界值,計算出70%的吞吐量集中區間。區間越集中,吞吐量越穩定。
4、如何測試伺服器的性能測試和負載能力
壓力-測試產品極限,負載-測試產品在極限情況下的穩定性,性能-測產品在各個壓力指標下的各個性能參數。
具體測試方法比較復雜,你可以查找相關文檔,找一個高手輔助你進行。
5、如何使用loadrunner對伺服器進行性能測試
使用LR對資料庫進行性能測試,實際上有多種辦法,包括通過現有的資料庫協議進行CS模式的先錄制後執行的模式,以及通過socket方式向伺服器發包方式的測試方式。這些是常規書籍上介紹的比較簡單上手的測試方法,但是不具備通用性,受已有協議或socket編程方式的限制,所以需要更為通用的測試方法。
用Java user的協議進行所有資料庫性能的測試工作:
Java user 不需要錄制,把所有的操作通過java語言進行實現,通過lr調用java的class進行加壓批量操作,這樣可以不關心被測系統是哪個資料庫,只要能夠通過jdbc進行訪問,就能實現性能測試。
一、測試環境准備
1. 被測伺服器准備,根據測試目的,搭建需要的資料庫伺服器,確保資料庫能夠正常訪問,正常操作;
2. Java代碼的准備,無論使用哪種IDE,只要能夠編寫訪問資料庫的class就可以,形式可以是j2se,也可以是j2ee,因為在操作時只使用class的部分方法,所以j2ee就可以了;
3. LR的腳本調試,把java的class導入到腳本調試模式,根據需要添加事務以及其他操作。
二、編寫資料庫訪問
1. 使用myeclipse,創建web project,創建如下圖的包目錄:
Java文件中包含各種訪問資料庫的方法。
需要注意的是,class中的方法必須是public static,否則LR中無法調用。由於創建的是j2ee程序,所以不用main函數,在web中就可以進行功能驗證。
確認class中的方法編寫完成,創建一個web.jsp文件,如下:
導入class
聲明類,並實例化,直接調用剛才編寫的3個方法,因為這3個方法是直接對資料庫進行操作,不需要實參,也沒有返回值,所以直接實現即可。
此時啟動web服務,在瀏覽器中輸入jsp的地址,直接刷新頁面,就可以調用這3個方法,如果正確,就會對相應的表進行操作,如果不正確,則需要修改相應的代碼。
2. LR腳本准備:
LR腳本實際上就是對訪問代碼的調用,關鍵在於需要根據測試場景劃分不同的腳本布局。
例如:在myEclipse里,我們只編寫了一個class,其中包含三個方法,如果在執行性能測試時,這三個方法相互獨立,互不幹涉,則最簡單的劃分方法是,創建三個java user,每個java user中包含一個方法,做三份腳本,場景執行時分別進行調用。如果三個方法之間有相互關系,則需要根據實際情況,把有關聯的方法放在一起,具體情況可按實際靈活分配。
因為已經將class文件進行編譯發布了,所以可以在「java2postgres\WebRoot\WEB-INF\classes\com\lr\test」目錄中找到對應的class文件,
復制這個文件,找到LR的目錄:HP\LoadRunner\classes\com\lr\test\ 如果沒有文件夾,按相同的內容創建。
在LR腳本中進行引包操作:
將需要執行的java類以及方法,放在action中,可根據實際測試情況和所需要驗證的內容,具體調試代碼。
在這里可以像編寫普通LR腳本一樣,添加事務或集合點等內容。
由於是通過JDBC對資料庫進行訪問,因此要在java user中載入jdbc驅動。
運行時設置中,增加jdbc驅動,需要注意的是java user使用的本地jdk,需要至多1.6版本,若使用1.7版本,回放會有錯誤,這是jdk版本的問題。
操作完成之後,按F5或點擊運行,進行腳本回放,實際此時也對資料庫進行了操作,可以直接查詢對應的表,檢查功能是否正確。
三、執行性能測試
已經有了java user的腳本,和普通web性能測試一樣,設計場景、執行測試、收集報告、分析性能瓶頸即可。
6、16個計算節點的伺服器測試都需要測試哪些性能?
分軟硬體吧,硬體方面主要測試計算效率,網路傳輸速度之類的,如果有存儲節點的話要測一下硬碟方面的性能,既然測試了,就要有對比,可以通過跑同樣的程序對比一下不同機群在相同條件下速度的差距,軟體方面主要看看你需要的軟體的型情況啊之類,有些問題還是需要具體分析的。
7、伺服器配置的大致性能測試數據
你可以看看國產品牌正睿的這款雙路四核伺服器,標配一顆至強E5504四核處理器,2G DDR3 REG ECC內存,SATA2 500G硬碟,英特爾5500伺服器晶元組主板,雙千兆網卡,性能可以說是相當強悍。。。日3萬IP和20萬PV沒有問題。。。
產品型號:I2476132S-E
產品類型:雙路四核機架式伺服器
處 理 器:Xeon E5504
內 存:2G DDR3 REG ECC
硬 盤:SATA2 500G
機 構:1U機架式
價 格:¥6999
你可以看看國產品牌正睿的伺服器,他們的產品性價比很高,售後也很完善,3年免費質保,3年免費上門服務,在業界口碑很不錯。
在你目前的訪問量,用這樣一台伺服器就足夠了。
如果以後隨著訪問量和數據量增加,還可以擴展至兩顆處理器,達成8顆處理核心,最大支持24GB DDR3 REG ECC 1333MHz內存。
8、伺服器性能測試中有哪些常用的性能指標
計算機系統主要性能指標: 1)字:字CPU能夠直接處理二進制數據位數直接關系計算機計算精度、功能速度字越處理能力越強見微機字8位、16位32位 2)運算速度:運算速度指計算機每秒所能執行指令條數般用MIPS單位 3)主頻:主頻指計算機鍾頻率單位用MHz表示 4)內存容量:內存容量指內存儲器能夠存儲信息總位元組數般KB、MB單位 5)外設配置:外設指計算機輸入/輸設備
9、如何測試伺服器
伺服器測試方法
伺服器測試方法分為兩個大方面,性能測試與功能測試。
我們在性能測試方面採用了新的測試方法,主要分為文件測試、資料庫性能測試與
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%
。
綜上所述,這種全新的伺服器測試方法更夠更准確更直接的對伺服器進行測試,而且數據更加精確。
希望能給又需要的讀者朋友帶來一定的幫助
。
謝謝採納。
10、TCP伺服器性能如何測試?
1 可以用專用工具測試,例如:
Netperf(www.netperf.org):網路性能測試。主要針對基於TCP或
UDP的傳輸。Netperf根據應用的不同,可以進行不同模式的網路性能測試,即批量數據傳輸(bulk data
transfer)模式和請求/應答(request/reponse)模式。Netperf測試結果所反映的是一個系統能夠以多快的速度向另外一個系統
發送數據,以及另外一個系統能夠以多塊的速度接收數據。Netperf工具以client/server方式工作。
server端是netserver,用來偵聽來自client端的連接,client端是 netperf,用來向server發起網路測試。
2 自己寫代碼測試,參考:
http://kmplayer.iteye.com/blog/673226。