chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
---
|
||||
allowed-tools: Read, Bash, Grep, Glob
|
||||
argument-hint: [api-type] | --rest | --graphql | --grpc
|
||||
description: Comprehensive API performance optimization with response time reduction, throughput improvement, and scalability enhancements
|
||||
---
|
||||
|
||||
# Optimize API Performance
|
||||
|
||||
Analyze and optimize API performance for faster response times, higher throughput, and better scalability: **$ARGUMENTS**
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **API Performance Analysis**
|
||||
- Analyze current API response times and throughput metrics
|
||||
- Identify slowest endpoints and bottleneck patterns
|
||||
- Profile API request/response lifecycle and processing time
|
||||
- Document baseline performance metrics across different load scenarios
|
||||
- Map API dependency chains and external service calls
|
||||
|
||||
2. **Request/Response Optimization**
|
||||
- Optimize request parsing and validation logic
|
||||
- Implement efficient response serialization and compression
|
||||
- Minimize payload sizes through selective field inclusion
|
||||
- Configure appropriate HTTP headers and caching directives
|
||||
- Optimize request routing and middleware processing
|
||||
|
||||
3. **Database Query Optimization**
|
||||
- Identify and optimize slow database queries
|
||||
- Implement query result caching strategies
|
||||
- Add appropriate database indexes for API queries
|
||||
- Optimize database connection pooling and management
|
||||
- Implement query batching and aggregation where applicable
|
||||
|
||||
4. **Caching Strategy Implementation**
|
||||
- Implement multi-level caching (in-memory, Redis, CDN)
|
||||
- Configure cache invalidation strategies
|
||||
- Set up API response caching with appropriate TTL values
|
||||
- Implement cache warming and preloading strategies
|
||||
- Monitor cache hit ratios and effectiveness
|
||||
|
||||
5. **Rate Limiting and Throttling**
|
||||
- Implement intelligent rate limiting based on usage patterns
|
||||
- Configure adaptive throttling for different user tiers
|
||||
- Set up queue management for handling traffic spikes
|
||||
- Implement circuit breaker patterns for external services
|
||||
- Monitor and adjust rate limits based on performance metrics
|
||||
|
||||
6. **Concurrency and Parallelization**
|
||||
- Implement proper async/await patterns for I/O operations
|
||||
- Optimize thread pool configuration and management
|
||||
- Implement parallel processing for independent operations
|
||||
- Configure connection pooling for optimal concurrency
|
||||
- Use streaming for large data transfers
|
||||
|
||||
7. **API Gateway and Load Balancing**
|
||||
- Configure API gateway for optimal routing and load distribution
|
||||
- Implement health checks and automatic failover
|
||||
- Set up load balancing algorithms for even traffic distribution
|
||||
- Configure request/response transformation at gateway level
|
||||
- Implement API versioning and traffic splitting
|
||||
|
||||
8. **Monitoring and Observability**
|
||||
- Set up comprehensive API performance monitoring
|
||||
- Implement distributed tracing for request lifecycle visibility
|
||||
- Configure performance metrics collection and alerting
|
||||
- Monitor API error rates and response time percentiles
|
||||
- Set up real-time performance dashboards
|
||||
|
||||
9. **Security Performance Optimization**
|
||||
- Optimize authentication and authorization processes
|
||||
- Implement efficient JWT validation and caching
|
||||
- Configure SSL/TLS termination for optimal performance
|
||||
- Optimize API key validation and rate limiting
|
||||
- Implement security middleware performance tuning
|
||||
|
||||
10. **Content Delivery Optimization**
|
||||
- Configure CDN for static API responses and assets
|
||||
- Implement geographic load balancing and edge caching
|
||||
- Optimize API endpoint geographical distribution
|
||||
- Set up content compression and optimization
|
||||
- Configure cache headers for optimal CDN performance
|
||||
|
||||
11. **API Design Optimization**
|
||||
- Review and optimize API endpoint design patterns
|
||||
- Implement efficient pagination and filtering strategies
|
||||
- Optimize API versioning and backward compatibility
|
||||
- Design APIs for optimal client-side caching
|
||||
- Implement GraphQL query optimization (if applicable)
|
||||
|
||||
12. **Load Testing and Performance Validation**
|
||||
- Implement comprehensive load testing scenarios
|
||||
- Configure performance regression testing in CI/CD
|
||||
- Set up chaos engineering tests for resilience validation
|
||||
- Monitor API performance under various load conditions
|
||||
- Validate performance optimizations with realistic test data
|
||||
|
||||
13. **Scalability Planning**
|
||||
- Design API architecture for horizontal scaling
|
||||
- Implement auto-scaling policies based on performance metrics
|
||||
- Configure database scaling strategies (read replicas, sharding)
|
||||
- Plan for traffic growth and capacity requirements
|
||||
- Implement graceful degradation strategies
|
||||
|
||||
14. **Third-Party Service Optimization**
|
||||
- Optimize external API calls and integrations
|
||||
- Implement retry policies and exponential backoff
|
||||
- Configure timeout settings for external services
|
||||
- Set up fallback mechanisms for service unavailability
|
||||
- Monitor third-party service performance impact
|
||||
|
||||
15. **Performance Testing Automation**
|
||||
- Set up automated performance testing pipelines
|
||||
- Configure performance benchmarking and comparison
|
||||
- Implement performance regression detection
|
||||
- Set up load testing in staging environments
|
||||
- Create performance test data management strategies
|
||||
|
||||
Focus on optimizations that provide the highest impact on response times and throughput. Prioritize changes that improve user experience and system scalability while maintaining reliability.
|
||||
Reference in New Issue
Block a user