Course description
Even before starting to design any software system you should realize that it may at any time become a high-performance system due to certain constrains.When developing a high-performance application, one must determine what parameters will define the system’s high performance.
This training describes the differences between high-performance, high-load, and high-availability systems. The goal of the course is to outline the main concepts, principles, and approaches that are used in designing high-performance systems.
You may often hear a phrase like “It must work fast!”. But this is not a specification requirement and you have to learn how to deal with and analyze performance requirements the right way.
The training includes exercises and examples related to application performance losses, and then outlines the main methods of achieving the required performance. The subjects discussed during the training also tackle use case examples of patterns that are used in designing software systems with high performance requirements and information about the core antipatterns that may affect a system’s performance.
Special attention is paid to preparing the system for testing and analyzing the test results. We take participants through the process of creating a program and the various methods of testing high-load systems and the system’s load model. We also include an overview of methodologies that enable a quantitative assessment of the system’s performance.
Since software developers often have to deal with problems of designing high-load systems to support big data processing with preset requirements to the response time and amount of data, this training will be useful not only for architects but also for project managers and senior developers.
Upcoming start dates
Training content
The notion of a High-Performance System
- High-Performance application, High-Load application, High-Availability application.
- Application performance management
- The cost of errors in the identification and occurrence stage
Major performance parameters
- Main parameters describing the system’s performance
- System performance model
Specification analysis for high-performance systems
- Identifying non-functional requirements for high-performance systems
- Handling inconsistencies while identifying performance requirements
- Completeness of requirements
- Practice
- Requirements analysis for inconsistency and completeness
High-performance system design
- System quality attributes
- Main reasons for system performance loss
- Key methods to improve system performance
- Practice
- Part 1: Building an object sorting algorithm with the use of parallel sorting. Analyzing the algorithm
- Part 2: Quantitative assessment of database access using indices. Analyzing the dependence of access time on the key length and number of database entries
High-performance system patterns
- Main types of patterns used to build high-performance systems (GRASP, Architecture patterns, Application Integration patterns)
- Use case examples of patterns in up-to-date standards
- Use case examples of patterns in up-to-date integration systems of development frameworks
- Practice
- Application performance optimization for sequential processing of a large amount of data
High-performance system coding
- Main issues of high-performance system coding
- Optimization methods for modern compilers and runtime environments
Testing high-performance systems
- Types of tests used to prove the system’s performance
- Preparing to test (creating scenarios and building a load model)
- Analyzing test results
Performance optimization for applications
- System performance optimization
- Ways to optimize performance of complex distributed systems
- Performance optimization and improving the stability of Java applications
- Improving database performance
SPE methodology
- Introduction to the SPE methodology: history, usage limits
- System performance model
- Using a system performance model for the analysis of modern systems
- Using SPE in system development
- System analysis methodology using SPE
- Practice
- Building a test system performance model
Certification / Credits
Objectives
- Identifying a system’s performance parameters
How to analyze system specifications related to the load on the system
Planning the process of high-performance system development
Designing systems by using optimal methods to ensure the required performance
How to interact with the test team in carrying out load tests
How to optimize systems with high performance requirements
Using the SPE methodology to ensure the system’s performance at the development stage
Quick stats about Luxoft Training Center?
More than 200 training courses
Conducted over 1,500 training sessions
Customized training solutions for business
Contact this provider
Luxoft Training Center
Luxoft Training Center — an essential part of the global technology leader, Luxoft, a DXC Technology Company. We play a pivotal role in propelling B2B businesses forward by delivering customized training solutions. Emphasizing the significance of learning and employee development,...