Calculator.java used by SummaryReport uses the startTime of the first sample as start time for it's own calculations. First sample to arrive to summary report is not always the first sample in time because some operations may have started earlier and will arrive later because the sample come from a jmeter-server (in distributed testing with batch mode this is noticiable) or because the time to complete the sample locally is high. Furthermore Calculator (and Summary Report) take the endTime of the last sample to arrive as the endTime for all SummaryReport calculations. This is worse because in distributed testing the time is not always synchonized to the millisecond and the samples come in batches. This produces inaccuracy in the calculations. I'll attach a patch to correct this behavior. Taking the min of samples startTime and the max of the samples endTime
Created attachment 19027 [details] Calculator.java patch to take min and max of startTimes and endTimes into account Changes the way SummaryReport calculates the thoughput taking into account the min and max of startTimes and endTimes. Previous version relies on samples coming in order to accurately make the calculations. This assumption is false in distributed testing (very false in batch mode!)
Thanks. The code in SVN branch 2.2 has been fixed, and is in the nightly build: 2-2.20061020
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/1813