Performance Optimization
Optimize OpenClaw for speed, efficiency, and scale in production environments.
π― What Youβll Learn
How to optimize OpenClaw performance:
- Gateway configuration and tuning
- Skill optimization strategies
- Resource management and limits
- Caching and memoization
- Parallel processing techniques
- Monitoring and profiling
- Production scaling strategies
Real-world example: Optimize a high-traffic customer service automation.
π Prerequisites
- β Completed Production Deployment
- β OpenClaw running in production
- β Understanding of system resources
- β Basic performance monitoring knowledge
π οΈ Understanding OpenClaw Performance
OpenClaw performance depends on several factors:
- Gateway responsiveness: WebSocket connection management
- AI model performance: Response time and token efficiency
- Skill efficiency: Well-optimized skill definitions
- Resource utilization: CPU, memory, and network usage
- Concurrent operations: Handling multiple requests
- Caching strategies: Reducing redundant operations
π Step 1: Gateway Optimization (10 minutes)
Configure Gateway Resources
Edit ~/.openclaw/openclaw.json:
{
"gateway": {
"maxConnections": 100,
"connectionTimeout": 30000,
"keepAliveInterval": 30000,
"resources": {
"maxMemory": "4GB",
"maxCpu": "80%",
"maxConcurrentRequests": 10
}
}
}
Enable Performance Monitoring
# Start gateway with performance tracking
openclaw gateway --port 18789 --verbose --perf-logging
# Monitor in real-time
openclaw metrics --watch
Optimize WebSocket Settings
{
"gateway": {
"websocket": {
"compression": true,
"maxPayload": "10MB",
"heartbeatInterval": 15000,
"maxBufferedAmount": 10000000
}
}
}
β‘ Step 2: Skill Optimization (12 minutes)
Write Efficient Skills
β Inefficient Skill:
# Data Processor
## Capabilities
Process all types of data
Do everything with data
Handle any file format
β Optimized Skill:
# CSV Sales Analyzer
## Description
Analyzes CSV sales data files specifically for e-commerce metrics.
## Capabilities
### Revenue Calculation
Calculate total revenue from sales CSV files
Supports specific date range filtering
### Top Products
Identify top 10 products by revenue
Requires column: product_name, amount
Use Specific Capabilities
OpenClaw can match and execute focused skills faster:
β
"Calculate total revenue from sales-2025.csv"
β "Process the sales data file"
Optimize Skill Structure
# Performance-Tip: Weather Checker
## Description
Fast weather lookup for specific locations using cached data.
## Capabilities
### Current Weather
Get current temperature for a city
Response time: <2 seconds
### Caching Strategy
Cache results for 10 minutes
Use in-memory storage
πΎ Step 3: Caching Strategies (10 minutes)
Enable Response Caching
In openclaw.json:
{
"cache": {
"enabled": true,
"type": "memory",
"ttl": 3600,
"maxSize": "1GB",
"strategy": "lru"
}
}
Cache Frequently Used Data
Create a caching strategy for weather data:
Cache weather API responses for:
- Current weather: 10 minutes
- Forecasts: 30 minutes
- Historical data: 24 hours
Store cache at ~/.openclaw/cache/weather/
Use city name as cache key
Implement Smart Cache Invalidation
Set up cache invalidation rules:
1. Time-based expiration
- Weather data: 10 minutes
- News headlines: 5 minutes
- Stock prices: 1 minute
2. Event-based invalidation
- Clear cache when file is modified
- Invalidate when settings change
- Refresh on explicit user request
3. Predictive pre-fetching
- Cache likely requests
- Pre-load recurring tasks
π Step 4: Parallel Processing (8 minutes)
Concurrent Request Handling
Process multiple files in parallel:
Instead of sequential:
"Read file1.csv, then file2.csv, then file3.csv"
Use parallel:
"Read file1.csv, file2.csv, and file3.csv all at once
Then combine the results"
Batch Operations
Optimize batch processing:
Instead of:
"Send 100 emails one by one"
Use:
"Send all 100 emails in batches of 10
Process each batch in parallel
Track which batches succeeded/failed"
Parallel Web Scraping
Scrape multiple sites simultaneously:
"Visit all these URLs at once:
- https://site1.com
- https://site2.com
- https://site3.com
Extract headlines from each
Then combine results into one list"
π Step 5: Resource Management (10 minutes)
Set Memory Limits
{
"resources": {
"memory": {
"limit": "4GB",
"warningThreshold": "3GB",
"gcInterval": 300000
}
}
}
Monitor Resource Usage
# Check gateway resource usage
openclaw stats --resources
# Set up monitoring
watch -n 5 'openclaw stats'
Implement Resource Throttling
Configure resource limits:
1. CPU throttling
- Limit to 80% CPU usage
- Reserve 20% for system
2. Memory management
- Clear cache when at 90% capacity
- Limit concurrent operations
3. Rate limiting
- Max 100 requests per minute
- Queue overflow requests
π§ Step 6: Performance Profiling (10 minutes)
Enable Performance Logging
# Start with profiling enabled
openclaw gateway --profile --perf-logging
# View performance report
openclaw profile --report
Identify Bottlenecks
Profile a workflow:
"Analyze the performance of this workflow:
1. Read large-file.csv
2. Process each row
3. Save to database
Show me where it spends the most time
Which operations are slowest
What can be optimized"
Track Request Metrics
Monitor key metrics:
For each request, log:
- Total response time
- AI model time
- Tool execution time
- Data processing time
- Network latency
- Memory usage
- Cache hit rate
π Step 7: Production Scaling (12 minutes)
Horizontal Scaling
Run multiple gateway instances:
# Gateway 1
openclaw gateway --port 18789 &
# Gateway 2
openclaw gateway --port 18790 &
# Gateway 3
openclaw gateway --port 18791 &
Load Balancing
Configure nginx as reverse proxy:
upstream openclaw_cluster {
least_conn;
server 127.0.0.1:18789;
server 127.0.0.1:18790;
server 127.0.0.1:18791;
}
server {
listen 80;
server_name openclaw.example.com;
location / {
proxy_pass http://openclaw_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Database Optimization
{
"database": {
"poolSize": 20,
"connectionTimeout": 30000,
"queryTimeout": 10000,
"indexes": [
"created_at",
"user_id",
"status"
]
}
}
π― Step 8: Monitoring and Alerting (8 minutes)
Set Up Performance Dashboards
Create performance monitoring:
Track these metrics:
1. Response time (p50, p95, p99)
2. Requests per second
3. Error rate
4. Cache hit rate
5. Memory usage
6. CPU usage
7. Active connections
8. Queue depth
Dashboard refresh: every 5 seconds
Configure Alerts
{
"alerts": {
"highResponseTime": {
"threshold": 5000,
"window": 60,
"action": "notify"
},
"highMemoryUsage": {
"threshold": "90%",
"action": "clear_cache"
},
"highErrorRate": {
"threshold": "5%",
"window": 300,
"action": "restart_gateway"
}
}
}
Performance Baselines
Establish performance baselines:
1. Measure normal operation
- Average response time
- Typical resource usage
- Normal request patterns
2. Set acceptable ranges
- Response time: <3 seconds
- Memory usage: <4GB
- Error rate: <1%
3. Alert on deviations
- Warning: 2x baseline
- Critical: 5x baseline
π‘ Advanced Optimization Techniques
Technique 1: Skill Preloading
{
"skills": {
"preload": [
"weather-assistant",
"email-processor",
"data-analyzer"
],
"warmCache": true
}
}
Technique 2: Request Deduplication
Implement request deduplication:
If 10 users ask for weather in Tokyo:
1. First request processes
2. Next 9 requests use cached result
3. Cache expires after 10 minutes
4. Reduces load by 90%
Technique 3: Intelligent Routing
Route requests to optimal handlers:
1. Simple requests β Fast path
2. Complex requests β Full processing
3. Recurring requests β Cache
4. Batch requests β Parallel processing
5. High-priority β Dedicated queue
Technique 4: Progressive Enhancement
Optimize initial response:
Instead of waiting for full analysis:
1. Return immediate response
2. Stream additional data
3. Update results progressively
User sees results faster
π Performance Testing
Load Testing
Test system under load:
1. Simulate 100 concurrent users
2. Each makes 10 requests
3. Measure:
- Average response time
- Max response time
- Error rate
- Resource usage
4. Identify breaking point
Stress Testing
Find system limits:
1. Gradually increase load
2. Monitor until failure
3. Identify bottleneck:
- CPU saturation?
- Memory exhaustion?
- Network limits?
- Database locks?
4. Document breaking point
Performance Regression Testing
Catch performance regressions:
1. Establish baseline metrics
2. Run automated tests daily
3. Compare with baseline
4. Alert on degradation:
- Response time +20%
- Memory usage +30%
- Error rate +5%
π οΈ Troubleshooting Performance Issues
Issue: Slow Response Times
Diagnose:
Check where time is spent:
1. AI model processing?
2. Tool execution?
3. Data processing?
4. Network latency?
Solutions:
1. Enable caching
2. Optimize skills
3. Use parallel processing
4. Reduce request complexity
5. Upgrade resources
Issue: High Memory Usage
Diagnose:
Check memory consumption:
1. Cache size
2. Concurrent operations
3. Data loaded in memory
4. Memory leaks
Solutions:
1. Reduce cache size
2. Limit concurrent requests
3. Process data in chunks
4. Clear old sessions
5. Restart gateway regularly
Issue: CPU Saturation
Diagnose:
Check CPU usage:
1. Number of requests
2. Processing complexity
3. Background tasks
4. AI model usage
Solutions:
1. Scale horizontally
2. Implement rate limiting
3. Optimize skills
4. Use caching
5. Upgrade CPU resources
β Performance Optimization Checklist
Before considering optimization complete:
- Gateway configured for optimal performance
- Caching strategy implemented
- Skills optimized for specificity
- Resource limits set
- Monitoring enabled
- Alerts configured
- Baseline metrics established
- Load testing completed
- Bottlenecks identified and addressed
- Documentation updated
π‘ Pro Tips
1. Measure Before Optimizing
Don't guess - measure:
1. Profile current performance
2. Identify bottlenecks
3. Optimize the slowest parts
4. Measure improvement
2. Optimize for the Common Case
Focus on frequent operations:
- 80% of requests are simple queries
- 20% are complex operations
Optimize for the 80% first
3. Use Caching Strategically
Cache what matters:
- Frequently accessed data
- Expensive computations
- API responses
- Database queries
4. Monitor Continuously
Set up ongoing monitoring:
- Track key metrics
- Set up alerts
- Review performance weekly
- Optimize iteratively
5. Plan for Growth
Design for scale:
- Horizontal scaling
- Load balancing
- Resource limits
- Graceful degradation
π― Whatβs Next?
- π Community - Share optimization tips
- π Skills Library - Find optimized skills
- π Production Deployment - Deploy optimized setup
π Need Help?
- π¬ Ask OpenClaw: βHelp me optimize performance for [your use case]β
- π Performance Guide - Detailed performance docs
- π Community Examples - Real-world optimizations
- π GitHub Issues - Report problems
β±οΈ Total Time: 75 minutes π Difficulty: Advanced π― Result: Highly optimized OpenClaw deployment
π‘ Key Takeaways
- Measure First: Always profile before optimizing
- Target Bottlenecks: Focus on the slowest parts
- Use Caching: Dramatically improve response times
- Scale Horizontally: Add more instances rather than bigger hardware
- Monitor Continuously: Track performance metrics in real-time
- Iterate: Optimization is an ongoing process
Next: Implement these optimizations in your OpenClaw deployment and measure the improvements!