This is a great writeup, Kai. I hope you throw it on the wiki or something.
I'll throw in my 2 cents: The OSM US tile server has a worldwide osm2pgsql database set up for experimental rendering. It has almost no tile rendering load (because it's not really doing anything notable yet) and I had it updating every 2 hours before the diff location changed. It has four 600GB WD Velociraptor disks in a RAID10 set up and was usually able to catch up those 2 hours in 15-30 minutes. On Thu, Apr 12, 2012 at 8:39 PM, Kai Krueger <kakrue...@gmail.com> wrote: > There are two main components to the storage system of a tile server, > each of which can have different requirements depending on the > circumstances > > 1) Tile storage cache > > For the tile storage usually one needs quite a bit of space, but > performance isn't quite as critical. For a general purpose world wide > map you will likely need somewhere on the order of above 600 GB. The > full world wide tile set is considerably larger than that, but rendering > on the fly of e.g. z18 ocean tiles is usually possible without too much > problems. I don't know the exact scaling, but it seems like above > somewhere between 300 - 600 GB the cache hit rate only increases slowly > with size of the cache. > > Performance wise, it appears like 1000 tiles/s will generate somewhere > on the order of 300 - 500 iops on the disk system, although that > obviously depends on the size of ram of the server and the distribution > of areas served. This is a level of performance that you can probably > get out a raid array of a few sata disks. The performance requirement on > this part of the disks likely scale fairly straightforward with the > number of tiles served per second. Adding a reverse proxy in front of > the tile server can also help reasonably to distribute load for tile > serving. For most tile servers I have seen so far tile serving hasn't > really been much of an issue, but in the order above 1000 Tiles/s you > probably do need to consider it as well. > > 2) Rendering database > > The rendering database is where for most people the disk performance > bottlenecks are. For the full planet, the postgis database with indexes > is around 300 - 400GB in size. This is as others have pointed out where > some people use SSDs for. Quite a bit of performance is consumed in > keeping the database up to date with minutely diffs from OSM. This > performance does not depend at all on how many tiles you serve, but only > the rate of editing in OSM. From what I have seen (and other might > correct me), a 2 - 4 disk sata raid array might not be able to keep up > with edits during absolute peak editing times (e.g. Sunday afternoon > European time), but should catch back up during the night. On top of > that is the actual rendering of tiles. As typically one doesn't > re-render tiles in advance (other than low zoom tiles), but only once > they are actually viewed. Rendering performance does to some degree > depend on the tile serving performance. If it doesn't matter how up to > date rendered tiles are, rendering requests can be queued and rendered > during quiet periods, which considerably reduces the performance > requirements on the database. > > So overall whether you need an SSD for the database mostly depends on > how up-to-date you want to me with respect to OSM edits. If you want to > be in the order of minutes behind OSM, you probably will need an SSD. > Given that a fast update is important for mappers as reward for their > work, the SSD in osm's tile server has been a big win. If daily updates > or less are fine, then you might not need one. Once you get down to > monthly updates, you are likely best not using an "updateable database" > but do full reimports, the size of the database reduces typically to > less than half the size. > > It also depends on how spatially distributed your requests are. If e.g. > your site has a "bunch of locations" around which it displays local > maps. I.e. the same locations are shown over and over again, the > rendering load is much less than if you offer "Downloading country wide > tiles for offline use in a mobile app" even with the same amount of > serving load. > > If you don't need a world wide map, then hardware requirements also > considerably reduce and once you get down to only e.g. a country like > e.g. Italy or the UK, you possibly don't really have to worry about the > database anymore at all, as any modern hardware is probably sufficient. > > Kai > > On 04/12/2012 03:53 PM, Paul Norman wrote: > > I believe the SSD is used for the database. Before the SSD the DB was on > > the RAID10 array. I’m not sure four 300 GB 10k RPM drives are much > > cheaper than a SSD. > > > > > > > > You might find looking through munin for yevaud helpful - > > http://munin.openstreetmap.org/openstreetmap/yevaud.openstreetmap/#disk > > > > The SSD is sdd according to the wiki. > > > > > > > > How many tiles do you expect each map view to generate? I’d expect at > > least 50-100. This would give you an average of 200-500 requests/second. > > Just for comparison, the caches in front of yevaud peak at about 3.5k > > requests/second > > > > > > > > *From:*John Perrin [mailto:john.d.per...@gmail.com] > > *Sent:* Thursday, April 12, 2012 2:34 PM > > *To:* dev@openstreetmap.org > > *Subject:* [OSM-dev] Yevaud SSD Drive > > > > > > > > Hi, > > > > > > > > I've posted this question on the OSM Q & A site a well, not sure what > > the best forum for the question is, so please forgive the dual post if > > you also follow that site. > > > > > > > > Basically, I was just inquiring into the specific need for the SSD drive > > on the yevaud tile server. I'm looking to run an OSM tile server that > > can handle roughly 200,000 - 400,000 map views a day and have taken this > > as a good benchmark for the server spec. However the SSD is half the > > cost of reproducing a server with that spec. I was just wondering > > exactly what the disk was used for, and why is specifically needed the > > SSD drive. I can see the purchase logged in the server upgrade history, > > but I can't see any reason explaining why it was needed. > > > > > > > > Thanks > > > > > > > > John > > > > > _______________________________________________ > dev mailing list > dev@openstreetmap.org > http://lists.openstreetmap.org/listinfo/dev >
_______________________________________________ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev