1.啟動Jmeter后,在左側測試計划節點,右鍵“添加”-》“線程”-》“線程組”
2.在新增的線程組節點上。右鍵“添加”-》“取樣器”-》“TCP取樣器”
3.在線程組節點上,再右鍵“添加”-》“監聽器”-“察看結果樹”
構建完成后如下圖:
4.設置並發相關參數是在線程組中,線程數即為並發數,其他具體參數見附件,如下圖:
5.在TCP取樣器中,設置TCP請求的參數,主要設置的參數為:
(1)TCPClient classname:org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl
TCPClient classname 該參數一般有三個值設置:
- org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl(以文本編輯器中的純文本作為內容發送)
- org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl(以文本編輯器中所編輯的16進制字符(hex)內容為基礎轉換為二進制的字節內容進行發送)
- org.apache.jmeter.protocol.tcp.sampler.LengthPrefixedBinaryTCPClientImpl(在BinaryTCPClientImpl基礎上默認以發送內容的長度以字節前綴進行填充)
(2)服務器IP和端口號:輸入自定義的即可
(3)End of line(EOL) byte value: 這個參數和服務器返回的數據有關,是數據器服務流的一個結束標識。沒有設置EOL將會一直讀到輸入流結束為止。比如服務器返回的字符串是:abc},}符號在ascii碼表中對應的10進制為125,這里就填125。
(4)要發送的文本,這里就填要發送的文本內容
6.點擊Jmeter運行按鈕
即可完成並發操作。
附:
通過python創建一個TCP Server服務器,當接收到TCP請求后,響應字符串{get out}
import socket
import sys
def start_tcp_server(ip, port):
# create socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (ip, port)
# bind port
print 'starting listen on ip %s, port %s' % server_address
sock.bind(server_address)
# starting listening, allow only one connection
try:
sock.listen(1)
except socket.error, e:
print "fail to listen on port %s" % e
sys.exit(1)
while True:
print "waiting for connection"
client, addr = sock.accept()
print 'having a connection:',addr
client.send("{get out}")
client.close()
if __name__ == '__main__':
start_tcp_server('192.168.31.3', 48569)
Server啟動后,在jmeter中運行發送TCP請求,在察看結果樹中可以看到TCP請求成功
我們通過Jmeter請求的 Hello World
得到響應數據 {get out}