使用Apache JMeter測試基於epoll機制的高併發socket服務器

使用Apache JMeter測試基於epoll機制的高併發socket服務器

設備:

基於TCP的羣聊服務器運行於服務器Ubuntu16,JMeter位於win10.

遇到的問題:

剛開始使用JMeter進行TCP測試時,報timeout錯誤。

問題的解決:

對於timeout的問題,首先判斷是否已經將對應端口對外開發,檢查了防火牆是否允許對端口的訪問,使用了Telnet對端口進行測試,這個時候發現,使用127.0.0.1加端口號的時候可以得到正確的相應,但是使用服務器的ip地址的時候就是拒絕訪問,於是判斷可能是ip的原因,然後查到了ip地址的區別,將綁定ip從127.0.0.1換爲了0.0.0.0,使用Telnet測試通過。

於是在JMeter上填寫好對應的參數以後,終於成功了,但是測試的結果不是非常好。

測試結果:

剛開始將所有描述符都設置爲了非阻塞模式,當連接數量超過6個以後就會報出Resource temporarily unavailable,解決方法:What can cause a “Resource temporarily unavailable” on sock send() command
,使用阻塞模式後恢復了正常,但是連接數量還是會受到限制。

在這裏插入圖片描述
關閉測試工具後:
只有6個進入了time_wait狀態,其他的沒有進入,有待研究。
在這裏插入圖片描述

參考文章:
JMeter的安裝
Ubuntu端口打開
IP地址127.0.0.1與0.0.0.0的區別
Apache JMeter TCPSampler的使用及自定義
jmeter 的 tcp 測試核心知識點理解

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