jmeter(三十七)tcp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter(三十七)tcp相关的知识,希望对你有一定的参考价值。

参考技术A

状态时许图:

抓包图:

状态时许图:

抓包图:

参数:

Name :名称

Comments :评论

TCPClient classname为TCP Sample使⽤的TCP Client的实现,可以是⾃定义的,可以是JMeter提供的。

TCPClientImpl :TCPClient最简单实现类,也是默认使⽤的Client。以⽂本⽅式发送和接收数据。读取响应时读到输⼊流结束或者结束符停⽌。其中结束符通过JMeter属性的tcp.eolByte定义。使⽤的字符集通过tcp.charset配置。

BinaryTCPClientImpl :TCPClient的⼆进制实现类。以⼆进制(Hex流)的⽅式将配置的数据传送, 所以要求配置的数据必须是⼆进制(Hex流)。读取数据的时候会把数据重新转为⼆进制(Hex 流)。读取响应时⼀直读到输⼊流结束,或者定义好的结束字节,该字节通过 tcp .BinaryTCPClient.eomByte配置。

LengthPrefixedBinaryTCPClientImpl :BinaryTCPClientImpl的扩展类,在⼆进制(Hex流)的前⾯增 加了默认2字节的⻓度。也就是说对于配置的数据,该类会⾃动增加2字节的⻓度数据。2字节的配置可以改变,通过tcp.binaryLength.prefix.length配置。

Server Name or Ip :服务名称或者IP

Port number :端口号

Timeouts-Connect(milliseconds) :连接超时时长

Timeouts-Response(milliseconds) :响应超时时长

Re-use connection :选中表示重⽤TCP连接,含义是同⼀线程重⽤,即同⼀个线程内的多个请求使⽤客户端同⼀IP和相同端⼝与服务器连接,服务器维护的是⼀个TCP连接。当然,并发的不同线程使⽤的不同的连接。当在请求过程中出现错误,即使该配置被选中,也会在下⼀次请求时重新打开⼀个连接。哪些配置会影响请求的错误判断呢?配置⽂件中的tcp.status.prefix、tcp.status.suffix、 tcp.status.properties还有就是tcp.handler。后者是配置的TCPClient实现类,响应结果直接决定请求的成败。前两者是是如何获取服务端状态码,tcp.status.properties是如何翻译获取的状态码。这些状态码可以决定请求的成败。注意,⽬前JMeter⽆法配置哪些成功、哪些失败,默认的 "400"-"499" and "500"-"599" 就是失败。

Close connection :选中表示请求结束后关闭连接。该配置会影响Re-use connection,如果选中Close connection则⽆论Re-use connection是否选中,都会在请求结束后关闭连接,⽽下⼀次请求重新创建⼀个连接。也就是Re-use connection配置⽆效。

Set NoDelay :选中则禁⽤ Nagle算法,与TCP协议的缓存有关的算法。简单讲就是,是⽴即发送数据,还是缓存⼀会⼉收集⼀个⼤包再发送。有实时性要求的系统设置NoDelay,默认是关闭的(就是默认的TCP协议启⽤Nagle算法)。

SO_LINGER :TCP协议中的延迟关闭时间,具体参考TCP协议。简单讲就是客户端要关闭连接时,是否要等待以秒为单位的时间。默认不配置或者配置为0,可以防⽌服务端维持⼤量处于TIME_WAIT状态的连接。

End of line(EOL) byte value : 结束字符配置,可配置的值在-128到+127。 与配置⽂件中的tcp.eolByte⼀个作⽤。

Text to send :发送文本

Login Configuration :

Username :用户名称

Password :密码

TCP短连接 :发送1次请求,关闭连接。

TCP长连接 :发送N次请求,再关闭连接。

连接数满

设置了keep alive 导致的网络连接超时

网络延迟

丢包

参考:
https://mp.weixin.qq.com/s/tZ9-BoP1Oz3K4ZapLlnopQ
https://time.geekbang.org/column/article/8975

Zabbix学习笔记(三十七)

Zabbix学习笔记(三十七)-zabbix自动发现配置方法

使用zabbix系统以来在生产中一直没有使用zabbix的自动发现功能,也没有发表过文章,只是在学习中测试了一下,原因很简单,生产中的设备数量比较少,没必要使用自动发现功能。今天测试zabbix6.0,就写了次此文章。

1、首先创建自动发现规则

依次配置-自动发现,点击“创建发现规则”

Zabbix学习笔记(三十七)_linux

2、自动发现规则项目填写

名称:自定义

IP范围:配置需要自动发现的设备的ip地址范围,根据时间环境填写。

检查:添加发现检查类型,这里我选择的是ICMP ping

其它选项我保持了默认,请大家根据实际需求选择。

Zabbix学习笔记(三十七)_linux_02

3、配置动作

依次配置-动作-Discovery actions,点击“创建动作”

Zabbix学习笔记(三十七)_运维_03

4、动作和操作项目的填写

动作:

名称:自定义

计算方式:默认

条件:

A “自动发现检查等于discovery_windows:ICMP ping”(选择自动发现创建的选项)

B “自动发现状态 等于 上”

Zabbix学习笔记(三十七)_linux_04

操作:

依次添加发送消息

添加主机

添加到主机群组:windows

链接到模板:Windows by Zabbix agent active等

Zabbix学习笔记(三十七)_linux_05

Zabbix学习笔记(三十七)_监控_06

添加删除动作:

Zabbix学习笔记(三十七)_运维_07

Zabbix学习笔记(三十七)_linux_08

5、设置完成查看自动发现效果

Zabbix学习笔记(三十七)_运维_09

以上是关于jmeter(三十七)tcp的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter(三十七)循环控制器+交替控制器+事务控制器 完美实现接口字段参数化校验

第三十七章

EasyClick 原生UI连载三十七

Zabbix学习笔记(三十七)

leetcode刷题三十七

Kettle案例三十七:变量活动类型