Chapter: Application Performance Concepts
We’ve talked a lot about the technical aspects of measuring performance. While this is important, it’s important to remember that users are the ultimate judge of perfor-mance. As users are not clocks, their time perception may be different from what we measure empirically. If you are interested in a detailed discussion of this topic, we recommend the book, Designing and Engineering Time: The Psychology of Time Perception in Software, by Steven C. Seow.
When talking about human time perception, we must first be aware that we (humans) always compare perceived time against our expectation of how fast things should be. So time for us is always relative. We judge system responsiveness by comparing expectations against our perceptions of response time.
In judging system responsiveness, we must first know how fast users expect a system to be. Research shows that there are four main categories of response times:
When it comes to system performance, users have very precise expectations, and these metrics are useful both for understanding our performance perceptions and for use in SLA definitions. It can be difficult to find proper SLAs or response time thresholds, but having these precise categories gives us a straightforward approach to defining performance thresholds.
As with performance, human perception for faster or slower is not as precise as tech-nical measurements. This is very important when judging whether a performance optimization is worth the effort.
In essence, our limited perception of application responsiveness can’t detect perfor-mance changes of much less than 20%. We can use this as a rule of thumb when deciding which improvements will impact users most noticeably. If we optimize 300 milliseconds a request that took 4 seconds, we can assume that many users will not perceive any difference in response time. It might still make sense to optimize the application, but if our goal is to make things faster for the users, we have to make it faster by at least 0.8 seconds.