Alex Argo
Alex Argo

Reputation: 9020

Is there some industry standard for unacceptable webapp response time?

There's a cots (commercial off-the-shelf) application that I work on customizing, where a couple of pages take an extremely long time to load for certain distributions of data. (I'm talking approximately 3 minutes for a page to load in this instance... and the time is growing exponentially).

Clearly this is unacceptable but are there studies out there where I can point what acceptable response time is?

I'd like some good studies possibly that discuss response time.

Upvotes: 48

Views: 69069

Answers (9)

Federico Baù
Federico Baù

Reputation: 7675

Python Requests

This probably is more on the server side and doesn't take in account on the Front-End that match, still, I take this documentation as my guide lines.

The connect timeout is the number of seconds Requests will wait for your client to establish a connection to a remote machine (corresponding to the connect()) call on the socket. It’s a good practice to set connect timeouts to slightly larger than a multiple of 3, which is the default TCP packet retransmission window.

From these DOCS

(2.1) Until a round-trip time (RTT) measurement has been made for a segment sent between the sender and receiver, the sender SHOULD set RTO <- 3 seconds (per RFC 1122 [Bra89]), though the "backing off" on repeated retransmission discussed in (5.5) still applies.

Note that some implementations may use a "heartbeat" timer that in fact yield a value between 2.5 seconds and 3 seconds. Accordingly, a lower bound of 2.5 seconds is also acceptable, providing that the timer will never expire faster than 2.5 seconds. Implementations using a heartbeat timer with a granularity of G SHOULD not set the timer below 2.5 + G seconds.

Upvotes: 0

martinp999
martinp999

Reputation: 449

The answers to this question focus on UI behaviour and many of them assume that there is always a hard link between network response time and UI responsiveness.

While that may have been true 11 years ago when the last answer was posted, these days the strategies for implementing Web pages have evolved and best practises mean that many of the XHR calls are independent of making a page immediately valuable to the user.

I suspect that even the human psychology parts of these answers have changed with time - people generally now have higher expectations and lower patience thresholds for Web pages.

Upvotes: 0

Tormod Hystad
Tormod Hystad

Reputation: 2405

Jakob Nielsen's research has answered this for any application (web apps aren't special in this regard):

  • 0.1 second: Limit for users feeling that they are directly manipulating objects in the UI.
  • 1 second: Limit for users feeling that they are freely navigating the command space without having to unduly wait for the computer.
  • 10 seconds: Limit for users keeping their attention on the task.

So for web apps you should keep your page response times at 500 ms maximum on average near the servers, to have a web app that is a pleasure to use even with a network latency of 200-300 ms.

Upvotes: 70

Matthew Murdoch
Matthew Murdoch

Reputation: 31463

Acceptable UI response times are based on human psychology and are therefore the same for web applications as they are for traditional desktop applications.

Depending on how the end user perceives the operation that is being performed, an acceptable response time might be 1 second (e.g. for closing a 'dialog window') or 10 seconds (e.g. for displaying the results of a calculation).

The usability guru Jakob Nielsen has written a good article about acceptable web application response times.

Published UI guidelines specify the same acceptable response times, for example:

Java Look and Feel Guidelines

GNOME UI Documentation.

Upvotes: 13

kohlerm
kohlerm

Reputation: 2624

Yes Nielsen's article has some good info about how psychology is involved. Here you can find more information about why the "perceived performance" matters, and not only the actual response time.

Upvotes: 2

Alex Argo
Alex Argo

Reputation: 9020

There's a nice blog post here that argues that there really is no industry standard.

Maybe there's no good way to do this.

Upvotes: 0

dlamblin
dlamblin

Reputation: 45341

∞ is the least acceptable response time.

After that the maximum time that a user expects it to take, which varies a lot depending on your service.

An animated area will greatly increase the user's patience, be it an hourglass, swirl, circle, even a bar that fills up and empties itself over and over. As long as the problem is clearly not that their actions went unheard, they will wait.

Upvotes: -5

Wes P
Wes P

Reputation: 9870

A while back I was told by a professor that the average user gives up after 10 seconds of waiting, with nothing happening. Seeing something happen will likely increase their tendency to wait. But that was a while back... when the interwebs were slower.

Upvotes: 0

Michael Bobick
Michael Bobick

Reputation: 8997

I posted a related question and got some interesting answers that may help. See

What is considered a good response time for a dynamic, personalized web application?

Upvotes: 0

Related Questions