Ticket #1463 (closed enhancement: fixed)

Opened 3 years ago

Last modified 2 years ago

Report: Add percentiles stat like ab

Reported by: 1136318969@friedenhagen.de Assigned to: bdelbosc
Priority: P2 Milestone: unspecified
Component: funkload Version: unspecified
Severity: normal Keywords:
Cc:

Description

  • Hello, I like Funkload (1.5.0) and especially it's simple to use record feature. One missing but propably easy to provide feature would be percentiles like Apache Bench reports them.
  • Guess you have ten clients, one loads your page in 92 seconds because of a network hickup. For another eight it takes just one second, one client gets the page within 0.1 seconds. In average, every client waits 10 seconds. I am mostly interested in the time most of my users will spend waiting for a web page. So having the time 90% of the clients are waiting (less than or just one second) is IMHO more informative than having average, minimum and maximum. In Python, you could just collect all durations in a list, then:
durations.sort()
perc90 = durations[int(0.90*len(durations))]
perc95 = durations[int(0.95*len(durations))]
perc98 = durations[int(0.98*len(durations))]
perc99 = durations[int(0.99*len(durations))]
perc100 = durations[int(1.0*len(durations))] (=max(durations))
  • Now having these values, I could more easily tell my management, in which time 99% of our users will get a page.

Change History

02/28/06 11:34:54 changed by bdelbosc

  • priority changed from P1 to P2.
  • summary changed from More Apache Bench like statistical values (Percentiles) to Report: Add percentiles stat like ab.

Good idea, I will also add the standard deviation

Thanks

10/03/06 09:42:52 changed by bdelbosc

  • status changed from new to closed.
  • resolution set to fixed.

Adding Mirko Friedenhagen --with-percentiles option to fl-build-report to include percentiles in statistic tables and use 10%, 50% and 90% percentil instead of min, avg and max in charts.

note that the ben-refactor branch have a fl-browse command that do basic performance test:

> fl-browse --perf=1000 http://localhost/

Checking performance for http://localhost/: ... Performing 1002 requests, during 4.379s, download: 668.33Kb

Effective requests per second: 228.810 RPS

Transfert rate: 152.616 Kb/s

Stat for 1000 requests of: http://localhost/

total connect transfert


average: 0.002245 0.000038 0.002207 std dev: 0.001551 0.000050 0.001508 minimum: 0.001419 0.000024 0.001392

median: 0.001598 0.000029 0.001569

90%: 0.003534 0.000051 0.003484 95%: 0.003622 0.000052 0.003571 98%: 0.003775 0.000061 0.003726

maximum: 0.039938 0.001546 0.038392

per second: 445.428941 26232.260434 453.123060


Stat for 1 requests of: http://localhost/icons/blank.gif

total connect transfert


average: 0.032174 0.000065 0.032109 std dev: 0.000000 0.000000 0.000000 minimum: 0.032174 0.000065 0.032109

median: 0.032174 0.000065 0.032109

90%: 0.032174 0.000065 0.032109 95%: 0.032174 0.000065 0.032109 98%: 0.032174 0.000065 0.032109

maximum: 0.032174 0.000065 0.032109

per second: 31.080997 15384.615385 31.143916