Qafoo GmbH - passion for software quality ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: www-data :Date: Wed, 31 Oct 2018 10:07:55 +0100 :Copyright: All rights reserved ======================== Performance & Load Tests ======================== - Checklist For A Reliable Load-Test Setting up a load-test that produces results you can rely on is not that simple. But without realistic test-results you cannot be sure that your application handles sudden increases of traffic, rapid spikes or even the initial go-live. And you cannot estimate at which number of users you should scale up your hardware. Both details are very important to keep the application running at all times and guarantee that no revenue or developer sleep is lost because of outages. We have a large checklist of points we go through when setting up performance tests with customers and I wanted to discuss some of the more important points in this blog post. - Why Apache Benchmark Is Not Enough You are working for months on a new web application or e-commerce system and usually a few weeks or just days before the launch a complete enough feature set is running on a production-like system so that you can run a realistic load-test. Hopefully providing you with accurate picture of the performance of your future system. What should you do, and why is Apache Benchmark usually not sufficient? - Methods Of Teaching There are many different ways to teach topics of software developments. From recorded lectures to pair programming. Over the time we tried many of them with different customers and different topics. I want to provide you with an overview of what worked best for us for which topic. - Scaling Constraints of Languages Micro-Services or any set of small services are common again right now. While it can make a lot of sense to use a dedicated service for a well defined problem those services are sometimes used just to play with a different server software. While it is pretty obvious for most that selecting the right database is important the same is true for selecting the right language (virtual machine) for the job.There are different types of services or server applications where different types of virtual machines (executing the opcodes / bytecode of the compiled source code) make more or less sense. What are the criteria we should base such a decision on and which language should we choose when? - Common Bottlenecks in Performance Tests Most developers by now internalized that we should not invest time in optimizations before we know what happens exactly. This is true for optimizations in your PHP code but also for optimizations regarding your infrastructure. We should measure before we try to optimize and waste time. How can this be done?