ESKOM IT Sp. z o.o.
IT System performance testing
Service of system performance testing is directed to the organizations running or planning to run systems on a large scale, critical for a given organization. Performance testing and the implementation of its recommendations prevents problems in production caused by insufficient system performance, such as reduced rate of operation, improper operation or complete lack of operation due to overload. We recommend to test system performance prior to the implementation of material modifications in the system, such as implementation of new version of application or reconfiguration of infrastructure.
We perform various kinds of tests, depending on customer needs:
- Performance testing – basic type of tests which verify whether system under a determined production load effectively realizes its tasks
- Load testing – a big number of users operating at one time / big number of realized transactions operated during a given time as specified in the scenario. Verification of how many transactions can the system operate in a given time interval
- Peak load testing – verification of system performance at peak load time. Such situation occurs at companies having temporarily increased operation volume, e.g. at times of month closing, at sales peak times, e.g. before Christmas
- Stress testing – deliberate overloading the system by too many transactions / users / data. Verification whether system operates in an expected way, not causing e.g. loss of data integrity
- Soak–endurance–stability testing – load on the system is maintained throughout a prolonged time. This type of test allows for detecting improper assignment and release of resources, such as memory leaks in application. For systems based on a database, it lets for detecting a change in system performance caused by data growth.
- Scalability – capacity testing – load on the system is gradually increased, until revealing bottlenecks.
In practice, we combine execution of various types of tests, so as to answer some typical questions; “will my system work once production is started”, “how will the system perform in a time of temporary overload”, “are we ready for a peak time in sales”, “what can be done in order to increase the efficiency of the system – what investment should be made in order to get the problem fixed: CPU/memory/disks/network connections/application improvement/database optimization etc.”
The outcome of tests is:
- evaluation of system performance under a planned load
- evaluation of system capacity – determination of maximal load, which the system can support given present resources, current architecture and delivering acceptable response times
- evaluation of stability of system performance in situation of overload
- evaluation of system scalability
- indication of factors limiting system efficiency (the so-called “bottlenecks”) and the ways of their elimination e.g. improvements in code, modification of architecture, expansion of resources so that the system performance fulfils business requirements
The service usually includes:
- analysis of system architecture (application and infrastructure)
- selection of representative key transactions for loading the system
- setting acceptance criteria for system response times
- designing test scenarios, in particular setting transaction volume imposed on the system
- technical monitoring of key system components (implementation of monitoring system or extending capabilities of existing one)
- generation of test data for transactions
- creation of scripts for system loading
- execution of tests in several scenarios
- result analysis and preparation of recommendations
- as an option – implementation of recommendations, inclusive of performance tuning of IT environment