- #HISTOGRAM MAKER JAVA APP GENERATOR#
- #HISTOGRAM MAKER JAVA APP FULL#
- #HISTOGRAM MAKER JAVA APP DOWNLOAD#
The response rate should be as close as possible to the request rate. The effective request rate should be close to the nominal request rate you want to impose. Monitor continuously each loader request rate and compare it with its response rate. Loaders should not affect the probe, so ideally the probe should run on a separate machine with a separate network link to the server, to avoid that loaders steal CPUs and bandwidth from the probe that will therefore record bogus results.
Loaders should not affect each other, so ideally each loader should be on a separate machine with a separate network link to the server.įor non-critical loads, loaders may share the same machine/link, but they will obviously steal CPU and bandwidth from each other. Increment again to usersPerThread=100 and requestRate=40, that is 161 requests/s from 801 users.
Perform another runs and record the results from the probe. Then change the configuration of the loaders to increase the load (but don't change the probe configuration), say to usersPerThread=75 and requestRate=30, so now the total load on the server is 121 requests/s from 601 users. Perform a run with this configuration and record the results from the probe. The total load on the server is therefore 81 requests/s from 401 users, from all the loaders and the probe. Use Brendan Gregg's USE method to analyze the results.įor example, let's say you want to plot how the server responds to increasing load.Ĭonfigure each loader with, say, threads=2, usersPerThread=50 and requestRate=20.Ĭonfigure the probe with, say, threads=1, usersPerThread=1 and requestRate=1.
#HISTOGRAM MAKER JAVA APP GENERATOR#
A probe is a load generator that imposes a light load on the server and records response times. A loader is a load generator that imposes a load on the server, but does not record response times. Use one or more loaders to generate load on the server.Establish a baseline to verify that all the parties involved in the load runs behave correctly, including network, load generators, server(s), load balancer(s), etc.You may need several load generators on different machines to make the server even break a sweat. Assume that the load generator is the bottleneck.jetty-load-generator-starter - command-line load test uber-jar, see this section.jetty-load-generator-listeners - useful listeners for events emitted during load-test.jetty-load-generator-client - Java APIs, see this section.
#HISTOGRAM MAKER JAVA APP FULL#
You can embed Jetty's LoadGenerator in Java applications - this will give you full flexibility, or you can use it as a command-line tool - and therefore use it in scripts.