Hey sly, thanks for the response. I’ll try to provide some more information:

I’ve tried to minimize how much background work the database is doing. It is not applying any diffs. I performed one vacuum operation manually, then disabled autovacuum.

Currently using the default rendering style that came with mapnik - osm.xml.

Performance seems to be highly dependent on zoom level. Here are some results…

Zoom : Avg Render Time per Tile (seconds)

9 : 3.12
10 : 1.35
11 : 0.434
12 : 0.354
13 : 0.215

So as you can see, rendering is quite slow at low zoom levels. I suspect you’re correct that the single drive is holding things back - judging by the server logs, queries seem to take much longer at lower zoom levels. I also suspect that in some cases, I am getting page thrashing - maybe because the retrieved data is too large to fit in memory all at once?