Pod Configuration
| CPU | Memory |
|---|---|
| 0.5 | 512M |
Testing Tool
Alibaba Cloud PTS
| Concurrency | Duration | Source | Test Endpoint |
|---|---|---|---|
| 100 | 2 min | Public | /api/welcome |
Note: 100 concurrency was determined after initial testing as the maximum load the pod could handle without errors (200 concurrency caused significant RT increases).
Service Startup
RoadRunner architecture:
Laravel Octane natively supports RoadRunner. Start the HTTP service with:
php artisan octane:start --server=roadrunner --host=0.0.0.0 --port=8080 --rpc-port=6001 --workers=1 --log-level=warn
--max-requests=50000 --rr-config=/var/www/.rr.yaml
Key Concepts
QPS(TPS) = Total Requests / Time (seconds)
Concurrency (client-side) and QPS (server-side throughput) are not directly correlated.
Test Results
Official recommendations: workers = CPU cores, enable keep-alive for 40% performance gain, set max-requests to 0 or a large value (we used 50000).
Resource Utilization
- CPU utilization remained stable. Memory increased with more workers.
Final configuration: workers=2 with opcache.enable_cli=0 (saves ~60MB RAM per worker).
Golang Benchmark
For comparison: Go service (0.5vCPU/128MB * 150 pods) performance:
Notes
Results are reference only. Always conduct your own load testing for production configurations.