-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
render_list multi threading is not working, it seems #405
Comments
You'll probably want to use the |
Thanks for the response @hummeltech . Here is the /etc/apache2/conf-available/renderd.conf file content for your reference. Please suggest.
|
Thanks @pkthogit, I meant your Also, please try using the |
Ooops, its my bad. Here is the config content. @hummeltech . Just additional info, I have 10TB of SSD on mounted drive, presuming that I/O operation on mounted drive doesn't have any performance impact.
Also while generating style.xml file, I found bellow warnings, just could be point of suspects. carto project_osm.mml > style.xml
-Prem |
@pkthogit , those warning messages are generally safe to ignore. For your [renderd]
stats_file=/run/renderd/renderd.stats
socketname=/run/renderd/renderd.sock
num_threads=40
tile_dir=/data/tile_cache/osm Then, restart
It is going to take a very long time, but it will hopefully be able to fully utilize your system resources. |
Thanks for the reply @hummeltech Although I had made al suggested changes and kicked off the command for zooms 15 to 19. However, the process could not complete for 15th zoom level even after 2days of continuous process consuming most of the resources. Postgres Database configuration: Ubuntu machine with 350GB RAM, 46 threads and TBs of SSD storage For your
rendered_list command being executed is: Crossed 2days of processing time, still 15th zoom level in-progress. Any rough estimates of how much time ideally render_list command takes to process all the zoom levels from 0-19 with the above configuration?? Is it expected to see this behaviour of unending process or am I missing something? -Prem |
On the original question - do you really want to generate tiles up to z19 for the entire planet? Do you have the disk space for that? Before getting too bogged down with render_list, are you sure that your database has all the indices that your style needs (at some point in the past https://www.linuxbabe.com/ubuntu/openstreetmap-tile-server-ubuntu-20-04-osm was missing some, but I haven't checked recently). |
Hi @SomeoneElseOSM , currently I have 10TB of SSD storage and I need to self host entire planet tiles on CDN (I know its too heavy process but trying to build the pipeline). When it comes to Postgres database, I have built the spatial indices by using the below lines to make sure the queries are faster.
Essentially, I wanted to replicate the tile service what https://tile.openstreetmap.org/{zoom}/{x}/{y}.png does without usage limit for my application. Please correct me, if I have missed anything else. thank you. -Prem |
@pkthogit, If you are just wanting to replicate openstreetmap.org's tile services, you might want to take a look at their configuration to get an idea of how they do it: I would recommend only pre-rendering the lower zoom levels and then just letting |
Zoom 19 tiles for the world are not practical to pre-render. |
Thank you @hummeltech @SomeoneElseOSM and @pnorman for the advise. Before we close this thread, one last question. As suggested, I could generate tiles till 15th zoom level and for the zoom 16-19, I thought of giving it a try generating tiles only for land area (taken countries data as basis) ignoring ocean and antarctica which comes 50% of overall planet area. I could generate 2 degree by 2 degree bboxes (EPSG: 4326) and planned to loop through each bbox and run the render_list command. However, I bumped into strange issue as mentioned below. render_list -a -m default -z 16 -Z 16 -x -180.01 -y -18.51 -X -177.99 -Y -16.49 -f --num-threads 40 --max-load 40 -f render_list -a -m default -z 16 -Z 16 -x -180.01,-18.51,-177.99,-16.49 -f --num-threads 40 --max-load 40 As I understand, EPSG:4326 coordinates spans across Extent: -180,-90 : 180,90 However, tool complain the values being negative numbers. Not sure, if I am missing anything to get the tool executed for the extended that I had computed. Any suggestions would be greatly appreciated. -Prem |
@pkthogit, sure, that will probably work. The issue you are running into there is that those values are tile coordinates, which are always positive integers. They are the same as the There was recently a note added to the man page (as well as the mod_tile/docs/man/render_list.1 Line 76 in c3d9bd2
|
@pkthogit I did a similar optimization on higher zoom level tiles by looking at the next lower zoom level tile and not rendering any of the 4 higher zoom tiles if the lower zoom tile was a single color, be it water, desert, or ice. But then, my application also runs a leaflet extension that automatically fetches and stretches a lower-zoom level tile piece if the current zoom is not found. It does this recursively, so if a single zoom 5 tile is all one color, every zoom higher than that actually uses bits of that single tile. |
Hi Team,
Its rather asking for help, presumably not a bug (not sure).
I have followed this page to configure postgres with OSM planet data and configured mod_tile and renderd.
I have a cloud VM with 350GB RAM and 46 threads to use for this exercise. Hence, I have updated the postgres configure parameters as mentioned below to take most out of available resources.
shared_buffers = 200GB
work_mem = 10GB
maintenance_work_mem = 40GB
effective_cache_size = 40GB
max_connections = 100
I was able to render the tiles successfully, however, my goal is to pre-generate all zoom level tiles and hence executed below command
render_list -m default -a -z 0 -Z 19 --num-threads=40
Till zoom level 13, it was too fast but later started getting slow, I know the number of tiles to be generated gets exponential as zoom level goes up.
So tried with just zoom level only 15 with setup, surprisingly, no major consumption of RAM and the process is too slow even with 40 threads.
render_list -m default -a -z 15 -Z 15 --num-threads=40
Just wondering if this threads usage is working fine or am I missing anything to make most out of available resources to generate tiles quickly? Any suggestions would be greatly appreciated.
-Prem
The text was updated successfully, but these errors were encountered: