What is the threshold of the "Too Low TPS" error?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

What is the threshold of the "Too Low TPS" error?

colinmain
Hi,
Whilst developing scripts I am often unable to test on production-like systems, with functional but occasionally very in-demand (and hence slow) systems being the only things available.
This means that I sometimes get the "Too Low TPS" error in cases where I would prefer to ignore the error and continue with my script.

Is it possible to change this threshold somehow to achieve this?
Colin
Reply | Threaded
Open this post in threaded view
|

Re: What is the threshold of the "Too Low TPS" error?

junoyoon
Administrator
Too low tps check is to prevent that agents are occupied by wrongly implemented test for long time.

This error check is implemented like below.

private void checkTooLowTps(double tps) {
                // If the tps is low that it's can be the agents or scripts goes wrong.
                if (tps < 0.001) {
                        if (momentWhenTpsBeganToHaveVerySmall == 0) {
                                momentWhenTpsBeganToHaveVerySmall = System.currentTimeMillis();
                        } else if (new Date().getTime() - momentWhenTpsBeganToHaveVerySmall >= TOO_LOW_TPS_TIME) {
                                LOGGER.warn("Stop the test because its tps is less than 0.001 for more than {} minitue.",
                                                TOO_LOW_TPS_TIME / 60000);
                                getListeners().apply(new Informer<ConsoleShutdownListener>() {
                                        public void inform(ConsoleShutdownListener listener) {
                                                listener.readyToStop(StopReason.TOO_LOW_TPS);
                                        }
                                });
                                momentWhenTpsBeganToHaveVerySmall = 0;

                        }
                } else {
                        momentWhenTpsBeganToHaveVerySmall = 0;
                }
        }

If TPS is less than 0.001 for 1 min, it stops the test. If there were some sampling moment in which the tps is over 0.001 for last 1 min, the TOO_LOW_TPS error won't be occurred.

If your test results TOO_LOW_TPS error... I think it's not appropriate to run the performance test in nGrinder.
Reply | Threaded
Open this post in threaded view
|

Re: What is the threshold of the "Too Low TPS" error?

colinmain
So for 1 minute during my test there were effectively no transactions?
Since this is a far lower threshold than I had expected, it is clear that the system under test must have failed and so I agree that marking the test as failed is the right thing to do.

Thanks for the explanation.

Colin
Colin