Performance measures the efficiency of a system in handling workloads within a unit environment. System performance is typically measured by indicators such as QPS(Queries Per Second), concurrency, and RT (Response Time). In traditional IT environments, capacity assessment and planning are critical steps in system design. Typically, the selection of an appropriate number of nodes for a system based on its performance capacity during peak loads. In active-active systems, considering failover will require designing more redundancy for a single node. Moreover, functional overload control are necessary to prevent complete system failure in overloaded scenarios.. This design phase is relatively stable and long-term since node deployment and delivery often involve lengthy cycles.
In the cloud infrastructure environment, flexible elasticity effectively address the pain points in traditional IT environments. It makes capacity assessment and online scaling relatively simple while introducing more options and complexity to high-performance designs. In addition to capacity assessment and flexible elasticity in design, performance testing, performance monitoring and performance optimization at the implementation levelplay crucial roles. Leveraging the performance benefits brought about by technological iterations in cloud products is also an important consideration for high-performance systems. This chapter comprehensively describes the stages of designing, implementing, and optimizing high-performance systems based on cloud infrastructure. The main topics covered include:
High-performance architecture design including common high-performance architecture design guidelines, business adaptation specifications and types, scalable and expandable, partial architectural design best practices and challenges and precautions in performance aspects, etc.
Performance testing including performance testing introduction, application scenarios of performance testing and performance testing best practices, etc.
Performance monitoring including why performance monitoring is needed, what is performance monitoring, and best practices of performance monitoring, etc.
Common performance optimization including elastic computing optimization, network optimization, database optimization, and architectural optimization, etc.