Search code examples
javajmeterperformance-testingvert.xvertx-verticle

How long to run through for lower environment performance testing using JMeter on Java APIs


I am running some lower environment perf testing on my Dev setup for Java Vertx APIs. How long should we I continue to run this test to get an acceptable numbers. Please share for any standard guideline documents on this. I am using JMeter for perf testing. My Application stack Java, Spring, JDBC, Vertx, Oracle


Solution

  • Most probably your test doesn't make a lot of sense as if you get i.e. X requests per second maximum throughput at "lower" it doesn't mean that you will get double amount of the requests per second when you run the same tests against the environment with 2x times more RAM and CPUs.

    I can think of a couple of things you can still test if you don't have access to PROD-like environment:

    1. Run a Soak Test, it should allow you to detect memory leaks
    2. Run some concurrency tests, i.e. X users are doing exactly the same action at exactly the same time, it should allow you to detect deadlocks
    3. Use a profiler tool during your tests execution, this way you'll see the largest objects, slowest functions, etc.
    4. Find the slowest/heaviest SQL queries and inspect their plans to see how they can be optimised.

    More information: Performance Testing in a Scaled Down Environment. Part Two: 5 Things You Can Test