How Humans Perceive Performance

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.

What It Means to Be Faster

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.

Read the Java enterprise performance eBook online

Chapter: Application Performance Concepts

Differentiating Performance from Scalability

Calculating Performance Data

Collecting Performance Data

Collecting and Analyzing Execution Time Data

Visualizing Performance Data

Controlling Measurement Overhead

Theory Behind Performance

How Humans Perceive Performance

Chapter: Memory Management

How Garbage Collection Works

The Impact of Garbage Collection on application performance

Reducing Garbage Collection Pause time

Making Garbage Collection faster

Not all JVMS are created equal

Analyzing the Performance impact of Memory Utilization and Garbage Collection

Tuning

GC Configuration Problems

The different kinds of Java memory leaks and how to analyse them

High Memory utilization and their root causes

Classloader releated memory issues

Out-Of-Memory, Churn Rate and more

Chapter: Performance Engineering

Approaching Performance Engineering Afresh

Agile Principles for Performance Evaluation

Employing Dynamic Architecture Validation

Performance in Continuous Integration

Enforcing Development Best Practices

Load Testing—Essential and Not Difficult!

Load Testing in the Era of Web 2.0

Chapter: Virtualization and Cloud Performance

Introduction to Performance Monitoring in virtualized and Cloud Environments

IaaS, PaaS and Saas – All Cloud, All different

Virtualization’s Impact on Performance Management

Monitoring Applications in Virtualized Environments

Monitoring and Understanding Application Performance in The Cloud

Performance Analysis and Resolution of Cloud Applications

Start your 30-day free Java monitoring trial!

Try for free Contact us