TSung測試XMPP協議 測試過程中出現問題

2021-07-14 12:18:11 字數 4431 閱讀 9827

以下問題是我自己的理解,可能有些地方解釋的不對。寫這篇文章是方便自己以後出現相同的問題還要去google。

先看我的配置檔案:

<?xml version="1.0"?>

loglevel="notice"

dumptraffic="false"

version="1.0">

host="shlab135"

maxusers="80000"

cpu="3">

value="10.1.7.135">

ip>

client>

clients>

host='10.1.7.139'

port='5222'

type='tcp' />

servers>

phase="1"

duration="15"

unit="minute">

maxnumber="80000"

interarrival="0.0125"

unit="second">

users>

演算法: 1 每秒/每秒入使用者數 = [引數:"interarrival"]

2 總使用者數 = 每秒入使用者數 * 60秒《分鐘》

arrivalphase>

load>

type="ts_jabber"

name="global_number"

value="5">

option>

type="ts_jabber"

name="userid_max"

value="80000">

option>

type="ts_jabber"

name="domain"

value="erlang-projects.org">

option>

type="ts_jabber"

name="username"

value="135shlab">

option>

type="ts_jabber"

name="passwd"

value="135shlab">

option>

options>

probability="100"

name="jabber-example"

type="ts_jabber">

type="connect"

ack="no_ack">

jabber>

request>

value="2">

thinktime>

do="abort"

when="match">errormatch>

type="register"

ack="local"

id="new">

jabber>

request>

name="authenticate">

type="auth_get"

ack="local">

jabber>

request>

type="auth_set_plain"

ack="local">

jabber>

request>

transaction>

type="presence:initial"

ack="no_ack" />

request>

value="600">

thinktime>

type="close"

ack="no_ack">

jabber>

request>

session>

sessions>

tsung>

乙個是最大使用者數80000

在15分鐘內每秒入80個,也就

是說15分鐘內入的使用者數。

上面這兩種限制的優先順序是第二條,優先時間限制。

安裝時間配置也可以用下面這種方法:

phase=

"1"duration=

"10"

unit=

"minute">

arrivalrate=

"10"

unit=

"second">

解釋:總共執行10分鐘,每秒入10個使用者。 

二:如果多個tsung壓乙個cm或者server。一定要把tsung.xml 生成使用者名稱的規則給改變。不然多個tsung client 生成出來的user 會存在名字相同的。這樣登入server就會認為已經登入了。不在進行處理。

我就是用了tsung client 由於沒改生成規則< 這段》 每次測試都只能夠到6w多。

三:如果tsung client cpu 記憶體都沒壓力。但是使用者又上不去。修改/etc/sysctl.conf 檔案

net.ipv4

.tcp_rmem=4096

4096

16777216

net.ipv4

.tcp_wmem=4096

4096

16777216

net.ipv4

.ip_local_port_range = 1024

65000

fs.file-max=65535000

修改後立馬生效則需要執行:

sysctl –p

tcp微調

大多數現代作業系統一樣,linux現在做得很好的

自動調整

tcp緩衝區,但,預設最大linux的tcp緩衝區大小還是太小。下面是一些示例sysctl.conf中不同型別的主機命令。

對於一台主機與乙個10g網絡卡,高達100ms的rtt網路路徑優化,新增到/ etc / sysctl.conf中。

#增加tcp最大緩衝區大小可設定使用setsockopt()

net.core

.rmem_max

16777216

net.core

.wmem_max = 16777216

#增加linux的自動調整tcp緩衝區限制

net.ipv4

.tcp_rmem = 4096

87380

16777216

net.ipv4

.tcp_wmem = 4096

65536

16777216

#增加處理器的輸入佇列

net.core

.netdev_max_backlog = 30000

#推薦的預設的擁塞控制的長度是htcp

net.ipv4

.tcp_congestion_control = htcp

#建議巨幀的主機啟用

net.ipv4

.tcp_mtu_probing = 1

還可以新增到/ etc / rc.local中(其中n是多少10g nic):  

/ sbin目錄/ ifconfig命令ethn的txqueuelen 10000 

對於乙個10g網絡卡的主機上的高達200ms的rtt,或乙個40g nic路徑可達50毫秒rtt網路路徑優化:

#增加tcp最大緩衝區大小可設定使用setsockopt()

net.core

.rmem_max

67108864

net.core

.wmem_max = 67108864

#增加linux的自動調整tcp緩衝區限制

net.ipv4

.tcp_rmem = 4096

87380

67108864

net.ipv4

.tcp_wmem = 4096

65536

67108864

#增加處理器的輸入佇列

net.core

.netdev_max_backlog = 250000

#推薦的預設的擁塞控制的長度是htcp

net.ipv4

.tcp_congestion_control = htcp

#建議巨幀的主機啟用

net.ipv4

.tcp_mtu_probing = 1

還可以新增到/ etc / rc.local中(其中n是多少10g nic): 

/ sbin目錄/ ifconfig命令ethn的txqueuelen 10000 

注意:你應該獨自離開net.tcp_mem,為預設值都很好。一些效能專家說,也增加net.core.optmem_max的匹配net.core.rmem_max和net.core.wmem_max,但我們還沒有發現有什麼差別。也有專家說,設定net.ipv4.tcp_timestamps和net.ipv4.tcp_sack為0,因為這樣可以降低cpu的負載

tsung安裝測試

wget wget 解壓tzr zxf 或者 tar xzvf 編譯cd opt src 17.0 configrue 報錯error no curses library functions foundconfigure error bin sh home niewf software erlang...

tsung1 4 2使用(1) HTTP協議測試

1.安裝erlang tar zvxf otp src r15b.tar.gz cd otp src r15b configure make make install 2.安裝tsung tar zvxf tsung 1.4.2.tar.gz configure make make install ...

tsung 安裝及測試使用

2.安裝gnuplot 5.0.6.tar.gz 放在tsung下,使用tar zvxf gnuplot 5.0.6.tar.gz解壓 進入cd gnuplot 5.0.6目錄下 使用命令 configure prefix usr local gnuplot 使用make make install ...