本實驗用於測試esframework服務端引擎的效能,測試程式使用最新發布的esframework 4.0.7.0版本。
測試的機器總共有3臺,都是普通的pc,一台作為伺服器,兩台作為客戶端。
作為伺服器是pc配置如下:
作業系統:windows server 2003 enterprise edition sp2
cpu:pentium dual-core cpu e5400 @ 2.70ghz
記憶體:2g
本實驗所採用的策略是這樣的:
(1)每個客戶端例項首先與伺服器建立n個tcp連線,然後依次在每個tcp連線上傳送乙個36位元組的訊息。遍歷一次完畢後,等待(sleep)m毫秒,再進行下一輪遍歷傳送。
(2)服務端接收到訊息後,解析訊息,然後累加訊息的個數。
(3)客戶端統計已發訊息的總數,並計算上一秒傳送的請求數。
(4)服務端統計已接收訊息的總數,並計算上一秒接收的請求數。
1.測試方案一:連線總數3000,每輪傳送間隔100ms
(1)在作為伺服器的pc上啟動服務端。
(2)在作為客戶端的兩台pc上分別執行乙個客戶端例項。每個客戶端例項設定連線數1500,每輪傳送的間隔為100。
(3)如此,服務端的總的連線數為3000,以下是執行一段時間後的截圖:
在該測試過程中,服務端的每秒處理的訊息數量在26000 ~30000之間波動,而cpu持續在80%以上。
另外,在客戶端的pc上通過netlimitter可以看到每個連線上發出的資料流量:
2.測試方案二:連線總數6000,每輪傳送間隔300ms
將方案一啟動的各程式全部關掉,重頭再來一次。
(1)在作為伺服器的pc上啟動服務端。
(2)在作為客戶端的兩台pc上分別執行乙個客戶端例項。每個客戶端例項設定連線數3000,每輪傳送的間隔為400。
(3)如此,服務端的總的連線數為6000,以下是執行一段時間後的截圖:
在該測試過程中,服務端的每秒處理的訊息數量在14000 ~18000之間波動,而cpu持續在65%以上。
除此兩種方案的測試以外,我們還進行了其它方案的測試,比如設定更小的連線數和更小的傳送間隔,或設定更大的連線數和更大的傳送間隔。測試反映,這台作為伺服器的pc能承載的最佳併發連線數在4000左右,此時,伺服器的吞吐量可以達到最大(每秒處理30000個左右的訊息)。當連線數進一步增加時,吞吐量會降下來。最佳併發連線數和最大吞吐量的值與伺服器機器的配置密切相關。
(1)服務端最好執行在一台單獨的機器上。如果客戶端也執行在服務端所在的機器上,則會嚴重地影響服務端的吞吐量。
(2)合理地設定客戶端的連線數和傳送時間間隔。
(3)客戶端執行的機器的作業系統對tcp連線數可能有最大值限制(有的是三千多),如果遇到這種系統,而單個客戶端例項的連線數的設定又大於這個限制值,則會導致後續的tcp連線失敗。若發生這種情況,請關閉客戶端並重啟,然後設定較小的連線數,再次測試。可以多開幾個客戶端例項,來增加連線數。
(4)如果伺服器上有防火牆軟體,可能會影響測試結果,最好關閉伺服器上的防火牆進行測試。
(5)如果是在internet上測試,請確保服務端頻寬和客戶端的頻寬都足夠大。
q q:372841921
ESFramework 4 0 效能測試
本實驗用於測試esframework服務端引擎的效能,測試程式使用最新發布的esframework 4.0.7.0版本。測試的機器總共有3臺,都是普通的pc,一台作為伺服器,兩台作為客戶端。作為伺服器是pc配置如下 作業系統 windows server 2003 enterprise editio...
ESFramework 4 0 有哪些優點?
作為.net平台上的通訊框架,esframework有哪些優點了?我們有什麼理由要使用esframework 來開發自己的通訊應用?1.高效能 esframework 4.0 效能測試。2.可靠 穩定 esframework核心 esframework.dll 已經相當成熟穩定,其所有已經發現的bu...
NVIDIA Tesla K40C 的各項效能引數
目前,我正在研究gpu程式設計,使用cuda,所用的顯示卡為nvidia tesla k40c。通過查詢相關的資料,我整理了一下這款顯示卡的效能引數,如下表 顯示卡名稱 nvidia tesla k40c 顯示卡製造商 nvidia graphics processor gpu name gk110...