Jmeter进行TCP压力测试


1.启动Jmeter后,在左侧测试计划节点,右键“添加”-》“线程”-》“线程组”

2.在新增的线程组节点上。右键“添加”-》“取样器”-》“TCP取样器”

3.在线程组节点上,再右键“添加”-》“监听器”-“察看结果树”

构建完成后如下图:

 

 

4.设置并发相关参数是在线程组中,线程数即为并发数,其他具体参数见附件,如下图:

 

 5.TCP取样器中,设置TCP请求的参数,主要设置的参数为:

(1)TCPClient classnameorg.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和端口号:输入自定义的即可

 

3End 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}

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM