Currently tile generation strategy does not take into account server limitations.
This means that if tiles are not cached and user scrolls through map, especially low zoom levels, massive number of tile generation jobs can be started.
This can result in server becoming blocked (see #1391) or even completely running out of memory.
Proper fix would likely mean switching to some kind of job queue, with limited number of how many tiles are generated at once.
Ideally separation of rendering part, see #1338
Smarter cache invalidation (see #1304) and serving old tiles if rendering cannot keep up would be also helpful.
Currently tile generation strategy does not take into account server limitations.
This means that if tiles are not cached and user scrolls through map, especially low zoom levels, massive number of tile generation jobs can be started.
This can result in server becoming blocked (see #1391) or even completely running out of memory.
Proper fix would likely mean switching to some kind of job queue, with limited number of how many tiles are generated at once.
Ideally separation of rendering part, see #1338
Smarter cache invalidation (see #1304) and serving old tiles if rendering cannot keep up would be also helpful.