[mythtv-users] NFS, multiple clients, and 'prebuffering pause'

Brian Guilfoos mythtv at guilfoos.com
Mon Oct 1 18:52:28 UTC 2007


I came across and interesting (and perplexing, for a while) problem on
my system where current recordings - HD and SD - would have frequent
'prebuffering pauses' while being watched on one frontend, but none when
being watched on the backend computer.  Both the frontend and backend
mount the recording drive via NFS.

My file server is really pushed quite hard by my backend when in
full-bore recording mode, and in fact will drop small amounts of data
occasionally - maybe 5 to 10 seconds of data over a full hour program if
it's recording it's maximum capacity of 2 HD streams and one SD stream.
 My initial thought was it was a disk performance issue; however the
file would play back correctly on the backend machine, and the recording
load didn't seem to make any difference in the number of 'prebuffer
pauses'.  Additionally, watching 'top' during playback on the frontend
showed a huge amount of IO wait, and IOBOUND showed up in the logs a bunch.

My hypothesis is that NFS was causing file locking issues, since two
machines were trying to access the same file simultaneously.  When I
changed the frontend machine's configuration by unmounting the
recordings drive (and thus streaming the data from the backend), the
problem vanished.

I'm operating on at GigE network, so I'm quite a ways off from bandwidth
saturation, but it seems to me like there should be a way to fix this at
the NFS level.  The current possibilities to try are turning off
journaling on the file server, and/or making the NFS block sizes for
writing much larger on the backend.  Does any one have any suggestions
or input?

At any rate, I did want to make sure this particular problem ended up in
the archives for other users, since my searches came up empty.


More information about the mythtv-users mailing list