For a complex web application that includes dynamic content and personalization, what is a good response time from the server (so excluding network latency and browser rendering time)? I'm thinking about sites like Facebook, Amazon, MyYahoo, etc. A related question is what is a good response time for a backend service?
views:
846answers:
9It depends on what keeps your users happy. For example, Gmail takes quite a while to open at first, but users wait because it is worth waiting for.
Of course, it lays in the nature of your question, that answers are highly subjective.
The first response of a website is also only a small part of the time until a page is readable/usable.
I am annoyed by everything larger than 10 sec. responses. I think a website should be rendered after 5-7 sec.
Btw: stackoverflow.com has an excellent repsonse time!
Not only does it depend on what keeps your users happy, but how much development time do you have? What kind of resources can you throw at the problem (software, hardware, and people)?
I don't mind a couple-few second delay for hosted applications if they're doing something "complex". If it's really simple, delays bother me.
I have been striving for < 3 seconds for my applications, but I'm a bit picky when it comes to performance.
If you ask around, they say that people start to loose interest in the >= 7 second range, by 10-15 seconds you have typically lost them, unless you REALLY have something they want or need.
There's a great deal of research on this. Here's a quick summary.
Our company has a 5 second response time standard limit, and we aim for 2-3 seconds in general. This accounts for 98% of page loads. A few particular tasks are allowed to go up to 15 seconds, but we then mitigate that time by putting up a page and refreshing every 5 seconds telling the user that we are still trying to process the request. That way the user sees that something is happening and doesn't just leave. Although, considering that I work on a website whose users are forced to use for business reasons, they aren't going to leave, but they are capable of complaining quite loudly.
In general, if the processing is going to take more that 5 seconds, put up a temporary page so that the user doesn't lose interest.
I think you will find that if your web app is performing a complex operation then provided feedback is given to the user, they won't mind (too much).
For example: Loading Google Mail.