0
v-firecrawl/apps/test-suite/load-test-results/tests-1-5/load-test-4.md
2024-05-22 09:30:32 -03:00

3.8 KiB

Scraping Load Testing - Test #4

Summary

The load test was conducted with the Fly.io configuration set to a hard limit of 100 and a soft limit of 50. The test involved four phases with varying arrival rates. Despite the adjustments, there were 1329 timeouts (14.8%) but no HTTP 502 responses. The average response time was 3547.9 ms, with a peak response time of 9935 ms. Further adjustments to the artillery timeout configuration are recommended to improve performance.

Table of Contents

Test environment

Machines

Machine Size/CPU Status
e286de4f711e86 mia (app) performance-cpu-1x@2048MB always on
73d8dd909c1189 mia (app) performance-cpu-1x@2048MB always on
6e82050c726358 mia (app) performance-cpu-1x@2048MB paused
4d89505a6e5038 mia (app) performance-cpu-1x@2048MB paused
48ed6e6b74e378 mia (app) performance-cpu-1x@2048MB paused

Load Test Phases

Configuration

# fly.staging.toml
[http_service.concurrency]
  type = "requests"
  hard_limit = 100
  soft_limit = 50
# load-test.yml
- duration: 60
arrivalRate: 10  # Initial load
- duration: 120
arrivalRate: 20  # Increased load
- duration: 180
arrivalRate: 30  # Peak load
- duration: 60
arrivalRate: 10  # Cool down

Results

Date: 15:43:26(-0300)

Metric Value
errors.ETIMEDOUT 1329
http.codes.200 7671
http.downloaded_bytes 0
http.request_rate 23/sec
http.requests 9000
http.response_time.min 999
http.response_time.max 9935
http.response_time.mean 3547.9
http.response_time.median 2836.2
http.response_time.p95 8352
http.response_time.p99 9607.1
http.responses 7671
vusers.completed 7671
vusers.created 9000
vusers.created_by_name.Scrape a URL 9000
vusers.failed 1329
vusers.session_length.min 1063.4
vusers.session_length.max 10006.8
vusers.session_length.mean 3616
vusers.session_length.median 2893.5
vusers.session_length.p95 8352
vusers.session_length.p99 9607.1

Metrics


Conclusions and Next Steps

Conclusions

  1. Performance: The system handled 9000 requests with a mean response time of 3547.9 ms. There were 1329 timeouts but no HTTP 502 responses.
  2. Response Times: The peak response time was 9935 ms, indicating that the system struggled under peak load conditions.

Next Steps

  1. Adjust Timeout Configuration: Change the artillery timeout configuration to reduce the number of timeouts.
  2. Further Load Tests: Conduct additional load tests with the new timeout configuration to assess improvements.

By following these steps, we can enhance the system's performance and reliability under varying load conditions.