Acceptable response times for web sites
I think instead of talking about acceptable response times, talking about thresholds might make more sense if we are talking about high volume and high traffic websites.
Including the project I am in now, I think one of the most painful parts of NFT testing is getting benchmarking numbers from the business. Especially if the client did not have a structural approach to performance testing in the past, most of the time the best you can hear from them is “We don’t want our users to get frustrated, that is what we expect from performance perspective“.
There are no agreed-upon industry standard for response times but there is an industry standard to calculate the response time performance. APDEX is widely used in the industry and most of the monitoring tools (including New Relic) have built-in APDEX support.
Basically there is a “T-Value” defined and your APDEX Score is calculated over this T-Value. If load_time is your page load time, then:
- load_time < T-value : User is satisfied
- T-value <load_time < 4*(T-value) : User is tolerating
- load_time > 4*(T-value) : User is frustrated
So if our T-value is 2 seconds, 8 seconds will be our frustration threshold. We might have some users frustrated and still have an acceptable performance. Here is how APDEX score is calculated:
Apdext = (Satisfied Count + Tolerated Count / 2) / Total Samples
Scores over 0.75 are considered acceptable and 0.95 are considered good according to APDEX alliance.
Defining your T-value might be depending on different factors including the infrastructure of your country, your production environment hardware and historical data from previous applications.
APDEX is not “the” perfect method you can have to benchmark / measure your performance but I’ve found it pretty useful to create a common ground with the client from the performance perspective.