JMeter 上的客户端同步
Client Synchronization on JMeter
我如何使用 JMeter 开发一个测试,其中两个客户端可以连接到一个 TCP 服务器?
在我的测试中,我将有两个客户端和一个服务器:
Client 1 Server Client 2
| M1 | |
T1 |--------------->| M1' |
T2 | |------------->|
T3 | | R2 |
T4 | R2' |<-------------|
T5 |<---------------| |
客户端1,发送消息M1
给服务器,服务器处理该消息并发送给客户端2。客户端2回复消息。我想查看从 T1
到 T5
的响应时间。
- 我正在使用
Java Request
实现我的客户端连接。是否有任何 JMeter 功能可以在线程之间同步操作?
- 或者我应该在
Java Request
class 中实现自己的线程吗?
- 如果我实现自己的线程,这意味着我将复制我的线程进行测试。 JMeter单个实例支持多少个线程?
1.JMeter的线程(虚拟用户)是绝对独立的,对别人在做什么一无所知。但是你可以使用 Inter-Thread Communication plugin to add some extra logic and implement IPC
2. 我认为你不应该因为 JMeter 不会测量这些额外的线程
3. 您仅受 hardware/software 的限制。假设您关注 JMeter Best Practices you should be able to kick off several thousands of threads on a modern PC. In any case there is always possibility to run JMeter test in distributed mode
以防万一有 TCP Sampler and HTTP Raw Request Sampler,两者都能够触发 TCP 请求,因此您可能不必重新发明轮子。
如果您想同时启动 2 个不同的采样器,您可以将它们放在 Parallel Controller, this guy isn't a part of standard JMeter distribution, you will need to install it using JMeter Plugins Manager 下。
我如何使用 JMeter 开发一个测试,其中两个客户端可以连接到一个 TCP 服务器?
在我的测试中,我将有两个客户端和一个服务器:
Client 1 Server Client 2
| M1 | |
T1 |--------------->| M1' |
T2 | |------------->|
T3 | | R2 |
T4 | R2' |<-------------|
T5 |<---------------| |
客户端1,发送消息M1
给服务器,服务器处理该消息并发送给客户端2。客户端2回复消息。我想查看从 T1
到 T5
的响应时间。
- 我正在使用
Java Request
实现我的客户端连接。是否有任何 JMeter 功能可以在线程之间同步操作? - 或者我应该在
Java Request
class 中实现自己的线程吗? - 如果我实现自己的线程,这意味着我将复制我的线程进行测试。 JMeter单个实例支持多少个线程?
1.JMeter的线程(虚拟用户)是绝对独立的,对别人在做什么一无所知。但是你可以使用 Inter-Thread Communication plugin to add some extra logic and implement IPC
2. 我认为你不应该因为 JMeter 不会测量这些额外的线程
3. 您仅受 hardware/software 的限制。假设您关注 JMeter Best Practices you should be able to kick off several thousands of threads on a modern PC. In any case there is always possibility to run JMeter test in distributed mode
以防万一有 TCP Sampler and HTTP Raw Request Sampler,两者都能够触发 TCP 请求,因此您可能不必重新发明轮子。
如果您想同时启动 2 个不同的采样器,您可以将它们放在 Parallel Controller, this guy isn't a part of standard JMeter distribution, you will need to install it using JMeter Plugins Manager 下。