Hi, Thanks for that, loads of good info in there!
>Playing with indexes, especially partial indexes on the ways columns, >reflecting the where condition of the most expensive queries may help. I'm told that the easiest way to start on this is with pgAdmin, which raises a very basic question - what's the username and password I can connect to the gis database with? I presume it's listed somewhere in the setup scripts, but I've not had the chance to go through them. Cheers, Joseph On 19 October 2011 14:57, Kai Krueger <kakrue...@gmail.com> wrote: > Hi, > > On 10/19/2011 05:01 AM, Joseph Reeves wrote: >> Hi Kai, >> >>> The default Ram cache size is 800Mb. You can increase it with the -C >>> parameter of osm2pgsql. But given that your netbook probably doesn't >>> have that much ram, I am not sure increasing that option is such a good >>> idea. >> >> -C only has an effect in slim mode, unless I'm wrong? > > That also changed with the commit a few days ago. As again for smaller > extracts, who have a sparse distribution of node IDs, the cache was very > inefficient, I reused the improved node cache from the --slim mode. > Perhaps unfortunately, that also incorporated the limit and effect of > the -C parameter. On 64 bit machines at least, you can simply set the -C > parameter very high as it only reserves virtual memory. Only the amount > actually used will result in physical ram allocation. It is perhaps a > little bit more problematic on 32 bit Operating Systems though, as > virtual memory is also fairly limited. > > Setting a very high -C parameter and --cache-strategy chunked basically > gets you back to the old behavior though. > > As I was hoping >> to append data to my db, I'm running osm2pgsql in full fat mode. >> Thanks for the --cache-strategy tip - I got the import working with >> the sparse option. It seems to be working surprisingly quickly in >> fact. > > Fat mode definitely has its advantage in speed, perhaps especially on > slow disk systems like a netbook. This is perhaps why it was a bit > unfortunate that non-slim mode previously was (and for ways and > relations it still is) very wasteful with ram for extracts. > >> >> Of course, as you said, getting the data into the db is one thing, but >> actually using it is another matter. The netbook is now rendering >> tiles for a large strip across Europe - this often takes a while to >> get tiles created, but I think it should work for what I need it for. >> If the load gets too high I can always empty the db and add extracts >> as I need them. Before that, however, I think I'll try and find any >> database optimisations that might exist. > > Playing with indexes, especially partial indexes on the ways columns, > reflecting the where condition of the most expensive queries may help. > > If you do come up with good optimizations, it may be good to collect > them somewhere to build up a knowledge base for optimization tips. > > Kai > >> >> Thanks again for all this, >> >> Cheers, Joseph >> >> >> >> On 18 October 2011 18:34, Kai Krueger <kakrue...@gmail.com> wrote: >>> On 10/18/2011 10:48 AM, Joseph Reeves wrote: >>>>> It is possible that one could catch the errors in slim mode and then only >>>>> do the expensive diff processing for those node / ways that are >>>>> >duplicate in the extracts. >>>> >>>> Interesting, although I think this is beyond the limits of my OSM >>>> skills. >>> >>> Yes, that comment was more directed at my self that I should look into >>> that, or if any other dev of osm2pgsql gets to it first... ;-) >>> >>> Unfortunately Austria seems to be beyond the capabilities of >>>> my netbook; an import without --slim gives the error: >>>> >>>> Node cache size is too small to fit all nodes. Please increase cache size >>>> >>>> Presumably a slim import would help, but this would then fail because >>>> of overlapping ways... I can't Google up anyone suffering that error >>>> message before; I guess nobody else is trying to get a number of >>>> European countries into a db on their netbook... >>> >>> You will likely not find that error message on google yet, as if I am >>> not mistaken, I only commited that error message two days ago. >>> >>> The default Ram cache size is 800Mb. You can increase it with the -C >>> parameter of osm2pgsql. But given that your netbook probably doesn't >>> have that much ram, I am not sure increasing that option is such a good >>> idea. >>> >>> Given that you can't fit Austria into 800Mb, I suspect you are using the >>> 32bit version of osm2pgsql. It defaults to the old (for extracts >>> inefficient) cache allocation strategy. You can try using the >>> "--cache-strategy" option and set it to either optimized or sparse. That >>> should be more efficient for extracts than the default method. In the >>> optimized option, you might run out of virtual memory on 32 bit though. >>> >>> But you might have troubles with Austria on a netbook anyway, as it >>> might still be too resource intense. >>> >>> Kai >>> >>>> >>>> Thanks again, >>>> >>>> Joseph >>>> >>>> >>>> >>>> >>>> On 18 October 2011 16:59, Kai Krueger <kakrue...@gmail.com> wrote: >>>>> On 10/18/11 9:31 AM, Joseph Reeves wrote: >>>>>> >>>>>> Hi Kai, >>>>>> >>>>>>> The pre-rendered tiles are stored in /var/lib/mod_tile/default. You can >>>>>>> simply delete those files and they will automatically get rerendered the >>>>>>> next time you view them. >>>>>> >>>>>> Great, thanks, that's working great. >>>>>> >>>>>>> I have seen that you appear to need to restart renderd (sudo >>>>>>> /etc/init.d/renderd restart) after a new import, as it otherwise appears >>>>>>> to >>>>>>> still use old data (It is kind of odd, so I might have the wrong >>>>>>> impression >>>>>>> here). >>>>>> >>>>>> Sorry, I should've said in my previous email - I was assuming this to >>>>>> be the case. Out of interest, is there any log output from renderd? >>>>> >>>>> sudo tail -f /var/log/syslog >>>>> >>>>> should give you some output of what renderd is doing, including which >>>>> tiles >>>>> it is rendering and when it has completed them >>>>>> >>>>>> I'm running this on a netbook so tiles take a while to be produced; >>>>> >>>>> I'd imagine a netbook might struggle a little with rendering tiles on the >>>>> fly... ;-) But eventually they should be done. >>>>>> >>>>>> it >>>>>> would be interesting to see some logs so that I know it's all working >>>>>> as I expect. >>>>>> >>>>>>> However, what you are trying to do is as far as I know not supported by >>>>>>> osm2pgsql. Although it seems to be a much requested feature, I don't >>>>>>> think >>>>>>> osm2pgsql currently handles importing of multiple extracts. The --append >>>>>>> option doesn't really do what you would think it does. >>>>>> >>>>>> I tried the append flag and got an error about an already existing way >>>>>> - it would be good if osm2pgsql would simply ignore any ways that >>>>>> already exist in the database. I re-ran osm2pgsql without the --slim >>>>>> option, however, and the import was successful. I currently have >>>>>> Bulgaria and Romania working on my netbook :) >>>>> >>>>> Interesting that the non-slim mode works with appending multiple extracts. >>>>> >>>>> It is possible that one could catch the errors in slim mode and then only >>>>> do >>>>> the expensive diff processing for those node / ways that are duplicate in >>>>> the extracts. >>>>>> >>>>>> Am trying to re-import Turkey now, then onwards with bits of Europe! >>>>>> If it all works out do you mind if I do a bit of wiki fiddling on your >>>>>> instructions? >>>>> >>>>> No go ahead and improve the instructions >>>>>> >>>>>> Thanks again, >>>>>> >>>>>> Joseph >>>>>> >>>>> >>>>> >>> >>> > > _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk