Repository navigation
Performance
This page outlines the general performance observations of the PEACH API. This article is intended for a technical audience, and for people who are planning on using and deploying the API endpoints.
Load testing is a critical aspect of ensuring the performance and reliability of the PEACH API. This section outlines the observations made during load testing of the API endpoints.
Unless otherwise specified, all tests were conducted on a an Apple Macbook M3 Pro laptop running Sequoia 15.5 against
the the 90ada99fa5bc1f3f7eaf7a5bb78626a34907ebb2 commit of this application as of July 16, 2025. All tests were run in
production mode, with a ramp up period of 5 seconds to 10 virtual users, a steady state of 20 seconds, and a ramp down period of 5 seconds. The total testing time was approximately 30 seconds.
| Run Type | Requests (30s) | Response Times |
|---|---|---|
| 10 VU Run (Standard) | 16623 | avg=15.18ms min=2.13ms med=16.76ms max=34.52ms p(90)=19.1ms p(95)=20.02ms |
| 1 VU Run (Standard) | 9706 | avg=3.08ms min=2.11ms med=3.12ms max=26.31ms p(90)=3.42ms p(95)=3.55ms |
| 10 VU Run (no LRU) | 16533 | avg=15.27ms min=2.27ms med=16.82ms max=40.42ms p(90)=19.17ms p(95)=20.13ms |
| 1 VU Run (no LRU) | 9664 | avg=3.1ms min=2.04ms med=3.13ms max=6.81ms p(90)=3.38ms p(95)=3.49ms |
The getProcessEventSet endpoint was tested with varying levels of load to assess its performance characteristics. The following observations were made:
- Response Time: Under normal load, the average response time was approximately 3.08ms. However, during peak load, this increased to 15.18ms.
- Throughput: The endpoint was able to handle up to 554 requests per second.
- Error Rate: No errors were observed under both normal load and peak load conditions.
- LRU Cache Impact: The performance was consistent with and without the LRU cache, indicating that the cache did not significantly impact response times or throughput.
| Run Type | Requests (30s) | Response Times |
|---|---|---|
| 10 VU Run (Standard) | 50285 | avg=5.01ms min=1.02ms med=5.16ms max=62.95ms p(90)=6.56ms p(95)=7.15ms |
| 1 VU Run (Standard) | 8189 | avg=3.66ms min=1.72ms med=3.61ms max=45.65ms p(90)=4.56ms p(95)=4.83ms |
| 10 VU Run (no LRU) | 50167 | avg=5.03ms min=994.16µs med=5.17ms max=56.18ms p(90)=6.57ms p(95)=7.18ms |
| 1 VU Run (no LRU) | 7720 | avg=3.88ms min=1.77ms med=3.78ms max=37.27ms p(90)=4.98ms p(95)=5.37ms |
| 10 VU Run (random systemId) | 45803 | avg=5.51ms min=1.08ms med=5.68ms max=147.19ms p(90)=7.13ms p(95)=7.69ms |
| 1 VU Run (random systemId) | 8104 | avg=3.69ms min=1.67ms med=3.54ms max=101.82ms p(90)=4.89ms p(95)=5.38ms |
The putProcessEventSet endpoint was tested with varying levels of load to assess its performance characteristics. The following observations were made:
- Response Time: Under normal load, the average response time was approximately 3.66ms. However, during peak load, this increased to 5.01ms.
- Throughput: The endpoint was able to handle up to 1676 requests per second.
- Error Rate: No errors were observed under both normal load and peak load conditions.
- LRU Cache Impact: The performance was consistent with and without the LRU cache, indicating that the cache did not significantly impact response times or throughput.
- Random systemId Impact: The performance was slightly slower when using random system IDs under peak load, but still within acceptable limits.
Return Home