Working Group Minutes/EWG 2013-05-20

From OpenStreetMap Foundation

Attendees

IRC nick Real name
apmon Kai Krueger
Firefishy Grant Slater
gravitystorm Andy Allan
RichardF Richard Fairhurst
TomH Tom Hughes
zere Matt Amos

Summary

  • rails_port README
    • gravitystorm has made progress on the READMEs, and had a few items for discussion by the group.
    • ACTION: gravitystorm create platform-specific install documentation in INSTALL.$platform.md files
    • ACTION: gravitystorm change the databases in example.config.yml (and the docs) to be osm-development/osm-test/osm-production
  • Carto benchmarking
    • pnorman has done some benchmarking and found a slowdown between 12% and 22% [1].
    • It was generally considered that the slowdown we would experience would be somewhere between these, and not so bad that it couldn't be handled with some hardware mitigations.


IRC Log

17:03:30 <zere> minutes of the last meeting: http://www.osmfoundation.org/wiki/Working_Group_Minutes/EWG_2013-05-13
17:04:42 <zere> gravitystorm: any news on the READMEs?
17:05:43 <gravitystorm> zere: nope, still in progress. A question for the group though - how best to deal with platform-specific notes? I know the ones on the wiki are all hopelessly outdated, but I haven't nailed a strategy for replacements. Options:
17:06:27 <gravitystorm> 1) All crammed into INSTALL.md 2) Extra pages on the openstreetmap-website/wiki on github 3) extra pages on the osm.org wiki 4) INSTALL.windows.md etc
17:06:31 <gravitystorm> thoughts?
17:07:28 <zere> i would prefer the INSTALL.$platform.md approach, but having them in a .gh-pages branch would also be good.
17:07:52 <zere> i suppose the main idea would be that they're well-written, and not overflowing with outdated information like the wiki is
17:08:17 <apmon> If we go the route of having the main doc in INSTALL.md, I think I'd vote for INSTALL.$platform.md
17:09:25 <gravitystorm> OK, unless anyone suggests otherwise, that's what I'll go for
17:10:10 <zere> awesome. before the meeting started, pnorman reported: "best guess on osm.xml vs osm-carto is 10%-20% slower for carto. 10% on in-memory working set, 20% if it has to hit the disk. other changes like upgrading postgres/postgis may speed up things."
17:10:51 <gravitystorm> Second question, fall under the "worth the effort?" category - I'd like to rename the databases. Currently they are  osm/osm-test/openstreetmap, and I think that can lead to confusion for newbies. I propose osm-development/osm-test/osm-production and amending the docs accordingly
17:11:22 <RichardF> +1. that confused me a bit when setting up the rails_port last week.
17:11:35 <RichardF> (do most people need to set up anything apart from development anyway?)
17:12:04 <gravitystorm> RichardF: few people need production, but development + test is common
17:12:41 <zere> if you're doing development... you should have test as well!
17:12:54 <zere> s/have/want/, rather.
17:13:47 <gravitystorm> Does anyone know if there is other documentation that would be impacted by this change, e.g. switch2osm or something similar?
17:15:03 <zere> i don't think so... isn't switch2osm more about the tiles?
17:15:46 <RichardF> yep
17:16:09 <apmon> zere: Wasn't it the other way round? 20% in-memory and 10% if it hits disk?
17:16:47 <gravitystorm> OK, I'm done on rails-port docs
17:17:16 <gravitystorm> #action gravitystorm create platform-specific install documentation in INSTALL.$platform.md files
17:17:30 <RichardF> gravitystorm: yell if you need any help on OS X stuff
17:17:32 <zere> apmon: that wasn't what pnorman said 45 mins ago.
17:17:54 <apmon> Can you check with him again on that then?
17:18:07 <gravitystorm> #action gravitystorm change the databases in example.config.yml (and the docs) to be osm-development/osm-test/osm-production
17:18:58 <zere> apmon: yup. hopefully he'll be back before the end of the meeting and can explain the results.
17:19:08 <gravitystorm> apmon: you're correct on this, going by his original mailing list post
17:19:45 <gravitystorm> http://lists.openstreetmap.org/pipermail/tile-serving/2013-May/000217.html
17:19:51 <apmon> Yes, all of the previous discussions was that way round, so I guess he might have just said it wrong in the last discussion with zere
17:20:04 <gravitystorm> For the from-ram [...] a decrease of 22%.
17:20:28 <gravitystorm> For the larger [from-disk] set [...] a decrease of 12%.
17:21:10 <apmon> So one question is, when moving from EC2 disks to SSDs on yevaud / orm, will it behave more like in memory or like from-disk
17:22:12 <gravitystorm> Well, perhaps we shouldn't guess too much, and say that it's likely to be between a 12-22% slowdown. What consequences are there for that?
17:22:40 <apmon> Not too many
17:24:45 <zere> splitting the difference - 17% slowdown... probably not a massive problem. does mean that the queues might go up a bit.
17:25:07 <apmon> On yevaud, we'd likely hit the queue full situation more often, but it should be fine most of the time. On Orm, the faster server should compensate for the carto slowdown
17:25:42 <zere> if the from-ram is a 22% slowdown, does that mean that the carto is making mapnik do 22% more work? is that the right conclusion to draw?
17:27:06 <zere> (well, to be precise 27% more work)
17:27:28 <apmon> It is possible that there are some differences in postgresql as well
17:28:28 <apmon> It is possible that mapnik hits postgresql with the same queries multiple times (as I think layer caching wasn't turned on)
17:28:55 <apmon> The consequent times queries comeing from ram.
17:30:38 <gravitystorm> yes, as the style has been developed, the SQL queries are diverging between the two styles
17:31:41 <gravitystorm> I don't think there's anything to do (or much to discuss) until specific actions are identified as per a+b in http://lists.openstreetmap.org/pipermail/tile-serving/2013-May/000232.html
17:32:23 <gravitystorm> But the overarching point is - do we *need* to improve performance? Or is it just a nice-to-have?
17:33:20 <zere> somewhere in between the two :-)
17:34:30 <gravitystorm> :-)
17:34:41 <zere> on the one hand, no - we don't *need* to improve performance. we had a discussion last week about various ways of using multiple servers for rendering which would eliminate that need. but they're all ideas at this point - not much working code.
17:35:38 <zere> on the other hand, if performance improvements were made, it would extend the life and the capabilities of the existing servers. and possibly lead to the ability to do more resource-intensive cartography.
17:35:46 <Firefishy> orm can now be safely pulled from the tile caches. I need to do final spec and purchasing of SSD for orm.
17:36:53 <Firefishy> I have just pulled orm from tile caches.
17:37:01 <TomH> and we need to fix the style to download coastline data from somewhere that isn't tile.osm...
17:37:03 <gravitystorm> zere: OK, but I think what you're saying is that without some kind of change, then we *can't* put openstreetmap-carto onto the tileserver?
17:37:28 <zere> no, i think pnorman's benchmarking shows that the slowdown won't be too bad.
17:37:35 <gravitystorm> TomH: OK, I can wget it onto a different server :-)
17:38:23 <zere> but if there are some things (e.g: z13) which are clearly slow then it looks like that would be something worth looking into.
17:38:49 <Firefishy> We can re-point parent cache within minutes and per tile cache... so we can test load on orm per tile cache region and during specific periods.
17:38:57 <gravitystorm> zere: OK. I just want to clarify what's blocking deployment, as opposed to what osm-ewg thinks is worth working on
17:39:46 <Firefishy> So for example, I can move Australia to orm for a 24 hour testing period and then keep adding regions.
17:41:25 <zere> gravitystorm: yeah. unless i'm proved horribly wrong by spiralling queues - i think a 15%-ish slowdown is a nuisance not a disaster.
17:41:44 <Firefishy> We would need to slowly migrate the tile traffic anyway, so that orm is able to build up a base of tiles. 2 or 3 weeks at a guess.
17:44:20 <zere> worth pointing out that, from pnorman's results, z13 is 33% of the total render time. yevaud's statistics put z13+z14 at 29% of the total render time.
17:45:26 <zere> might just be an artefact of the benchmarking sample, but it would seem that a 10-20% speedup could be reclaimed from z13.
17:45:36 <apmon> So that matches reasonably well
17:46:46 <apmon> Are there any more statistics one could build into mod_tile / renderd to check things are running smoothly once in production?
17:47:20 <apmon> zere: Between, renderd should spit out the detailed statistics per zoom level, only munin bunches them up into groups of zoom level
17:48:44 <Firefishy> The SSD IOPs rate should increase from yevaud to orm: 39500 IOPs (Intel 320) -> 100000 IOPs (Samsung 840 Pro)
17:49:05 <Firefishy> 270 MB/s -> 540 MB/s
17:49:35 <zere> i wonder whether it's possible to have some tool to just look at the quantity of data that each layer's query pulls in from the database across a bunch of zoom levels?
17:50:38 <zere> presumably it's easy enough to pull the queries out of the carto mml file. is it easy to figure out which queries are used at which zoom levels?
17:51:02 <apmon> woodpeck had a tool like that a while ago
17:51:52 <apmon> https://github.com/openstreetmap/mapnik-stylesheets/blob/master/utils/stylecheck.pl
17:51:59 <apmon> Not sure if it still works
17:55:00 <apmon> Looks like it does still work on the default osm.xml
17:55:53 <apmon> http://pastebin.com/V3hGU9Mu is the result for the default osm.xml
18:00:07 <zere> quite a lot of stuff kicks in at 13, according to that...
18:01:11 <zere> i guess the next step might be to execute those queries, or at least find out how many features they return.
18:01:20 <zere> something for next week perhaps.
18:01:27 <zere> thanks to everyone for coming!