This repo contains sample code for a set of performance antipatterns.
Documentation and guidance for these patterns can be found on the Azure Architecture Center. For each antipattern, the documentation describes why the antipattern typically occurs, symptoms of the antipattern, and techniques for resolving the problem. The corresponding sample code shows (1) the problem and (2) a recommended way to fix the problem.
Antipattern | Description | Load test |
---|---|---|
Busy Database | Offloading too much processing to a data store. | Load testing Busy Database |
Busy Front End | Moving resource-intensive tasks onto background threads. | Load testing Busy Front End |
Chatty I/O | Continually sending many small network requests. | Load testing Chatty I/O |
Extraneous Fetching | Retrieving more data than is needed, resulting in unnecessary I/O. | Load testing Extraneous Fetching |
Improper Instantiation | Repeatedly creating and destroying objects that are designed to be shared and reused. | Load testing Improper Instantiation |
Monolithic Persistence | Using the same data store for data with very different usage patterns. | Load testing Monolithic Persistence |
No Caching | Failing to cache data. | Load testing No Caching |
Synchronous I/O | Blocking the calling thread while I/O completes. | Load testing Synchronous I/O |
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.