The performance of our replay cache code is rather poor. Even with a replay cache held open, it can be rather slow at times. My testing shows highly variable results, from over 1000 requests processed in a second to under 40. If an expunge is triggered, the performance gets really bad. jik's suggestion of skipping the fsync call might be reasonable, but I suspect there are other ways to speed it up that reduce actual CPU time used, without affecting the consistency of the on-disk version.