On 8/21/2013 9:46 AM, Ludwig Krispenz wrote:
we don't have dedicated threads for read or write operations, in theory writes should not block reads, but if the write threads queue up for the backend lock there might be no threads available to do the reads

I wasn't taking about threads. It is not true that writes can't block reads. You might say that typically writes won't block reads. However there are several reasons (including the one I gave -- the read wants I/O that ends up delayed behind I/O ops initiated by writes) why reads can be blocked by concurrent write activity. As Rich mentioned also, a write txn can acquire exclusive locks on DB pages that the read subsequently touches.