Back to Firecrawl

Scraping Load Testing - Test #5

apps/test-suite/load-test-results/tests-1-5/load-test-5.md

2.9.04.3 KB
Original Source

Scraping Load Testing - Test #5

Summary

The load test was conducted with a higher timeout configuration to address previous timeout issues. The test involved 9000 requests with a timeout set to 30 seconds. The system handled the load well, with only 4 HTTP 502 responses (0.04%). The average response time was 5661.8 ms, with a peak response time of 18924 ms. Further analysis is recommended to optimize response times.

Table of Contents

Test environment

Machines

MachineSize/CPUStatus
e286de4f711e86 mia (app)performance-cpu-1x@2048MBalways on
73d8dd909c1189 mia (app)performance-cpu-1x@2048MBalways on
6e82050c726358 mia (app)performance-cpu-1x@2048MBpaused
4d89505a6e5038 mia (app)performance-cpu-1x@2048MBpaused
48ed6e6b74e378 mia (app)performance-cpu-1x@2048MBpaused

Load Test Configuration

Configuration

yml
  http:
    timeout: 30

Results

Date: 15:59:50(-0300)

MetricValue
errors.Failed capture or match4
http.codes.2008996
http.codes.5024
http.downloaded_bytes0
http.request_rate23/sec
http.requests9000
http.response_time.min62
http.response_time.max18924
http.response_time.mean5661.8
http.response_time.median5378.9
http.response_time.p9511050.8
http.response_time.p9912968.3
http.responses9000
vusers.completed8996
vusers.created9000
vusers.created_by_name.Scrape a URL9000
vusers.failed4
vusers.session_length.min1079.2
vusers.session_length.max18980.3
vusers.session_length.mean5734.4
vusers.session_length.median5487.5
vusers.session_length.p9511050.8
vusers.session_length.p9912968.3

Metrics


Conclusions and Next Steps

Conclusions

  1. Performance: The system handled 9000 requests with a mean response time of 5661.8 ms. There were only 4 HTTP 502 responses which represent a 0.04% failure rate.
  2. Response Times: The peak response time was 18924 ms, indicating that while the system handled the load, there is room for optimization.

Next Steps

  1. Testing Scraping Strategies: Conduct further testing on the Playwright instance to ensure it can handle increased load and identify any potential bottlenecks.
  2. Load Testing Other Functionalities: Evaluate the performance of other critical routes, such as the crawl route, through additional load tests to ensure comprehensive system reliability.
  3. Optimize Response Times: Investigate and implement strategies to reduce the peak response time from 18924 ms. This could involve optimizing database queries, improving server configurations, or enhancing caching mechanisms.
  4. Error Handling Improvements: Analyze the causes of the 4 HTTP 502 responses and implement robust error handling and recovery mechanisms to minimize such occurrences in future tests.
  5. Scalability Assessment: Assess the system's scalability by gradually increasing the load beyond 9000 requests to determine its breaking point and plan for necessary infrastructure upgrades.

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