anon
anon

Reputation: 1061

Load testing for java client/server application

I have written a java client server application (not http), which i need to load test. However, most tools out there such as jmeter and grinder seem to be targeted to http requests. Any suggestions?

Thanks!

Upvotes: 1

Views: 1127

Answers (4)

Nirmal Fleet
Nirmal Fleet

Reputation: 36

You can use the JUnit4 or JUnit5 based load runners below which can simply accept your Unit tests and generate load on the target server. These need not be HTTP tests, these could be any tests annotated with @Test

The load configs look like below to ramp up or ramp down your load:

number.of.threads=2
ramp.up.period.in.seconds=10
loop.count=1

Your load test will look like below:

@LoadWith("our_load_config.properties")
@TestMapping(testClass = AnyTestEndPoint.class, testMethod = "anyTestMethod")
@RunWith(ZeroCodeLoadRunner.class)
public class LoadTest {

}

Your JUnit test which is fed to the load generator, The test class looks like below:

import org.junit.Test;

public class AnyTestEndPoint {

    @Test
    public void anyTestMethod() throws Exception {
       ...
       // You can have your client code invoking the target server
       ...
    }
}

Note: You can feed multiple Junit tests too to the load reactor, to generate load on different part of the server logic/apis/processes.

Visit the HelloWorld Examples for more details.

Upvotes: 0

AlexR
AlexR

Reputation: 115328

JMeter allows writing pluginns. If your application uses protocol other than HTTP it seems that the protocol is proprietary, so writing tests requires some custom implementation anyway. JMeter allows this and it is highly recommended.

Upvotes: 1

whatnick
whatnick

Reputation: 5470

You could have a look at Soatest which claims to be socket based and should be able to use whichever web protocol you are using (hopefully TCP/UDP).

Upvotes: 0

Steven
Steven

Reputation: 3894

since we have no idea what protocol you're using, write your own client in a way easily extendable for load testing.

Upvotes: 0

Related Questions