jmeter icon indicating copy to clipboard operation
jmeter copied to clipboard

Adding core support for RPC based load testing in jmeter

Open venkat1701 opened this issue 11 months ago • 1 comments

Use case

Addressing issues #6415 , #6404 , #6313 , it seems like jmeter does not provide core support for testing servers using RPC or any other libraries like gRPC Most of the microservices are migrating to RPC based communication protocols as it is lightweight and comparatively less costly for inter-server communication. This makes me bring down to these points where we might need load testing for servers based on rpc communication protocols:

  1. Currently there are only third party workarounds that allow load testing for rpc communication types, which is inefficient.
  2. There's a need for native rpc sampler, just like http sampler exists.

and actually many more, which we can mention if you choose to have it as an enhancement.

Possible solution

The possible solution will highly depend on the architecture and planning on the issue before implementing a code solution. So it is difficult to mention it right away here, but will surely do once I've an idea of the final planning and architecture for this.

Possible workarounds

  1. using JSR223 with Groovy or a Python script to capture responses or measure latency
  2. using grpcurl in shell samplers
  3. using third party tools like gatling where we can initiate tests separately and use jmeter to trigger them using OS process samplers

JMeter Version

5.6.3

Java Version

openjdk version "23.0.1" 2024-10-15

OS Version

Microsoft Windows [Version 10.0.26100.3037]

venkat1701 avatar Feb 13 '25 00:02 venkat1701

using JSR223 with Groovy or a Python script to capture responses or measure latency -> I doubt if the measurement is correct

using grpcurl in shell samplers -> if you were to try with plenty of users, you will not like how it slows down your machine

using third party tools like gatling where we can initiate tests separately and use jmeter to trigger them using OS process samplers -> Just use Gatling (phiSgr library) or k6 (official support) directly, why would you call them through Jmeter ?

nptri avatar Apr 03 '25 03:04 nptri