Troubleshooting:Mythfilldatabase IO bottleneck

From MythTV Official Wiki
Revision as of 17:52, 10 March 2008 by GBee (talk | contribs) (Reduce Channel Listings)

Jump to: navigation, search

The Issue

When updating a significant number of channels mythfilldatabase and MySQL can cause enough disk or I/O activity to interfere with recordings, playback, and live tv. This interference can cause recordings or playback to become garbled, and may even cause the backend to cancel the recording or stop entirely. It is also possible for MySQL to saturate the ATA bus, not simply the hard disk.

Resolutions

There are two known resolutions to this problem. You can choose to either reduce the number of channels you subscribe to, or you can migrate your MySQL database to another machine or hard disk.

a 3rd option would be to reduce the cpu usage of the process using cpulimit - of course that it will take a longer time to complete but...

Reduce Channel Listings

By far, the simplest method of resolving the issue is to reduce the number of channels mythfilldatabase updates. If you are using SchedulesDirect you can manage this from the subscription site. I do not have any experience with XMLTV, but you will probably need to check both your configuration and service provider to reduce the updated channels.

Migrate MySQL

If you must keep all of those channels, you may want to migrate your MySQL server. You might consider running MySQL on another server if you have one to spare. You can move the mythconverg database by backing up from your current server, and restoring on the new one.

Alternatively, you could keep your MySQL database on separate hard disk. You will probably want to install the database hard disk on a different bus. This allows MySQL to saturate the database bus without interfering with the bus your primary drive is connected to.

Changing the structure of your linux installation is distribution dependent. However, the MySQL files can be copied and moved so long as mysqld is not running. Check your linux distribution for more information.