Performance is no problem …


Counter-arguments to performance activities are numerous, but they all fail on capturing the most important reason for improving performance – more business opportunities.

On this page we discuss five common excuses:

  1. We just add more hardware.

  2. Computers get faster and faster.

  3. We don't have time for it now.

  4. Our services run in the Cloud.

  5. We have never had any performance problems.


1: We just add more hardware

This is probably the most common denial of need for performance measurements. It is based on a too limited view of what shall be regarded as software performance. What is even worse is that possible reasons for performance problems are not even discussed or investigated.

Here follows a sample of situations where more hardware won't solve a perceived performance problem:

  • Configuration problems. Performance problems due to bad or wrong configurations are far from unusual and more hardware will neither improve the configuration nor solve the problem!

  • Availability problems. Availability problems are in 99% of the cases related to software problems. More hardware will never solve a software problem! Even if it is a hardware problem more hardware is not a solution, it will only be solved by a hardware fault tolerant system.

  • Stability problems. Stability problems are in 100% of the cases related to software problems. More hardware will never solve a software problem!

  • Robustness problems. Robustness problems appear when when a system can't handle resource shortage problems in a predictable way. There are two causes: Resource shortages due to failing hardware (internal resource problems) or resource shortages due to an overloaded system (external resource problems). An overloaded system situation in turn may have natural causes, such as an extreme service request peak, or unnatural causes, such as DOS or DDOS attacks. Regardless of the cause improved software is the only really working solution.

To top of page


2: Computers get faster and faster all the time

Is this really true anymore? A faster computer requires higher clock speed to execute more instructions per time unit in order to give faster response time. This was the performance  paradigm of the past.

Due to heat problems computer clock speed can’t increase at the same pace anymore. To compensate for this limitation processing capacity is today increased by more and more processor cores working in parallel.

A desired reduction of response time, therefore requires parallel processing to take advantage of multi core CPU.

Parallel processing of single services is far from simple to implement. It requires careful design, planning, and implementation.

To top of page


3: There is no time to for it now, maybe later

This is another common excuse usually heard from stressed project managers actually saying: Don't give me another problem to solve. I simply can't handle that one too!

Sadly performance improvements can in most cases not be added to a product afterwards without time consuming and costly work on redesigning a system. High performance is always based on an excellent design. High performance begins at the initial steps of a new product with properly defined requirements and focused work on implementing the requirements during the entire project.

If your software project doesn’t pay attention to performance issues already during requirements specifications and design, performance problems might later hit the product with costly and time consuming design issues to solve.

To top of page


4: Our services run in the Cloud

This is the latest misunderstanding of what performance issues can be resolved by a new technology.

The cloud may deliver smooth adaptions to capacity problems, but the cloud can’t resolve any other type of performance problem that is inherent in a software product.

Here follows a sample of situations where more hardware won't solve a perceived performance problem in the cloud:

  • Configuration problems. Performance problems due to bad or wrong configurations are far from unusual and more hardware will neither improve the configuration nor solve the problem!

  • Availability problems. Availability problems are in 99% of the cases related to software problems. More hardware will never solve a software problem! Even if it is a hardware problem more hardware is not a solution, it will only be solved by a hardware fault tolerant system.

  • Stability problems. Stability problems are in 100% of the cases related to software problems. More hardware will never solve a software problem!

  • Robustness problems. Robustness problems appear when when a system can't handle resource shortage problems in a predictable way. There are two causes: Resource shortages due to failing hardware (internal resource problems) or resource shortages due to an overloaded system (external resource problems). An overloaded system situation in turn may have natural causes, such as an extreme service request peak, or unnatural causes, such as DOS or DDOS attacks. Regardless of the cause improved software is the only really working solution.

To top of page


5: We have never had any performance problems!

This is the total denial of performance issues and need for performance measurements.

How do you know if your system is a really competitive product, if no performance measurements have been done?

Performance measurements are not done for its own sake.

Performance measurements are done to make your product the leader in its class as well as learning the behaviour and limits of a system for the future.

To top of page