Large report fails to generate

memesaregood 2 years ago

Hi,

We are load testing Traccar, and we have encountered a problem we cannot solve.

I have a task to test how long would take Traccar to generate certain large reports, and these reports sometimes appear to hang Traccar for the time being and, after 2 minutes, the server returns a 503:

{
   "servlet":"org.glassfish.jersey.servlet.ServletContainer-727986ad",
   "message":"Service Unavailable",
   "url":"/api/reports/route",
   "status":"503"
}

I am not using a browser, but a Python request: your advice did not help me even after setting a 1200 seconds timeout.

I have sent you, Anton, a memory dump by mail.

Thank you!

Anton Tananaev 2 years ago
memesaregood 2 years ago

It did not. The result is the same. What information do you need?

Anton Tananaev 2 years ago

How did you try it? What configuration? What was the timeout?

memesaregood 2 years ago
curl "https://example.com/api/reports/route?deviceId=1&deviceId=2&deviceId=3&deviceId=4&deviceId=5&deviceId=6&deviceId=7&deviceId=8&deviceId=9&deviceId=10&deviceId=11&deviceId=12&deviceId=13&deviceId=14&deviceId=15&deviceId=16&deviceId=17&deviceId=18&deviceId=19&deviceId=20&deviceId=21&deviceId=22&deviceId=23&deviceId=24&deviceId=25&deviceId=26&deviceId=27&deviceId=28&deviceId=29&deviceId=30&deviceId=31&deviceId=32&deviceId=33&deviceId=34&deviceId=35&deviceId=36&deviceId=37&deviceId=38&deviceId=39&deviceId=40&deviceId=41&deviceId=42&deviceId=43&deviceId=44&deviceId=45&deviceId=46&deviceId=47&deviceId=48&deviceId=49&deviceId=50&deviceId=2705&deviceId=3109&deviceId=2983&deviceId=2436&deviceId=2382&deviceId=3450&deviceId=2176&deviceId=2652&deviceId=2137&deviceId=3123&deviceId=3128&deviceId=3042&deviceId=2462&deviceId=2223&deviceId=3119&deviceId=2201&deviceId=2253&deviceId=2575&deviceId=2358&deviceId=2435&deviceId=3398&deviceId=3076&deviceId=2559&deviceId=3411&deviceId=2388&deviceId=3415&deviceId=2267&deviceId=2829&deviceId=3118&deviceId=2951&deviceId=3076&deviceId=2275&deviceId=3185&deviceId=2199&deviceId=3075&deviceId=2370&deviceId=3258&deviceId=2581&deviceId=2493&deviceId=2692&deviceId=2767&deviceId=3215&deviceId=2409&deviceId=3189&deviceId=2622&deviceId=2167&deviceId=3305&deviceId=2567&deviceId=2713&deviceId=2633&from=2023-07-03T16%3A10%3A51.804310Z&to=2023-07-04T16%3A10%3A51.804693Z" -u 'login:password'

Timeout is 600 seconds, configuration:

  • RAM: 8 GB
  • CPU: 8 cores @ 2.6 GHz
Anton Tananaev 2 years ago

I meant how you deployed it and what timeout configuration have you set in the config?

memesaregood 2 years ago

Deployed the usual way, just now, by upgrading to the latest preview. Is that what you meant?
The timeout set is 600 seconds.

<entry key='web.maxRequestSec'>600</entry>

Anton Tananaev 2 years ago

It's not included in the preview. You have to compile the source code.