Skip to content

Performance

Jeremy Ho edited this page Jul 16, 2025 · 1 revision

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.

Table of Contents

Load Testing

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.

getProcessEventSet

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.

putProcessEventSet

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.

Clone this wiki locally