[mythtv-users] Mythfilldatabase taking FOREVER

Larry Kennedy lunchtimelarry at gmail.com
Tue Jun 14 01:50:46 UTC 2022


On Mon, Jun 13, 2022 at 9:40 PM Larry Kennedy <lunchtimelarry at gmail.com>
wrote:

>
>
> On Mon, Jun 13, 2022 at 9:21 PM Bill Meek <keemllib at gmail.com> wrote:
>
>> On 6/13/22 19:54, Larry Kennedy wrote:
>> >
>> > On Tue, Jun 7, 2022 at 9:52 PM Larry Kennedy <lunchtimelarry at gmail.com
>> <mailto:lunchtimelarry at gmail.com>> wrote:
>> >
>> >
>> >
>> >     On Sun, Jun 5, 2022 at 2:06 PM Gary Buhrmaster <
>> gary.buhrmaster at gmail.com <mailto:gary.buhrmaster at gmail.com>> wrote:
>> >
>> >         On Sun, Jun 5, 2022 at 3:06 AM Gary Buhrmaster
>> >         <gary.buhrmaster at gmail.com <mailto:gary.buhrmaster at gmail.com>>
>> wrote:
>> >
>> >          > There are numerous checks to determine if the
>> >          > existing program is *really* the same (with all the
>> >          > details).  Sometimes it is, sometimes it is not
>> >          > ("generic" programs such as news often get
>> >          > updates as the time gets closer to the "now"
>> >          > value).
>> >
>> >         And, as I recall, the generic (daily) news programs
>> >         can sometimes be marked as repeats, and
>> >         sometimes not, due to the logic that mythfilldatabase
>> >         and the upstream scheduling source use.
>> >
>> >          > And mythfilldatabase does some additional
>> >          > adjustments of the data that can (next run) result
>> >          > in detections of changes.  Some of which was
>> >          > improved with recent (supported) releases of
>> >          > MythTV.
>> >
>> >         At the end of the run, there is a line of the form:
>> >                Updated programs: nnnnn Unchanged programs: nnnnnn
>> >         which indicates how many programs were updated.
>> >
>> >         If you run the same mythfilldatabase load immediately
>> >         again (which implies the same source guide data) you
>> >         will likely see a small (but persistent) number of updates
>> >         due to how MythTV manages the program data and
>> >         detection of changes (which require updates).  For
>> >         a daily run, ~10% changes for Schedules Direct is
>> >         not atypical as generic placeholder show data get
>> >         replaced with actual episode data for the particular
>> >         showings and new data for an additional day.
>> >
>> >         Running a recent mythfilldatabase and a recent
>> >         version of the grabber, which together support
>> >         (mostly) accurate new (previouslyshown) marking,
>> >         I tended to use --no-mark-repeats to prevent
>> >         mythfilldatabase from "improving" the program
>> >         data (you can also modify the database setting
>> >         NewEpisodeWindow to accomplish something
>> >         equivalent, both mostly only matter because
>> >         Schedules Direct actually often has more than
>> >         14 days of program data, and using/changing
>> >         either may cause different issues depending
>> >         on the details (and --no-mark-repeats had
>> >         a specific bug when used in older versions)).
>> >
>> >         Lastly, sometimes database tuning may be
>> >         appropriate.  From time to time there are
>> >         discussions on the MythTV email lists, or
>> >         forum, regarding database tuning,  Running
>> >         mysqltuner.pl <http://mysqltuner.pl> can point out specific
>> cases
>> >         which may be causing issues (just be aware
>> >         that not everything mentioned by that script
>> >         is actually going to be an issue for MythTV).
>> >
>> >
>> >     OK, Gary, I bit the bullet and upgraded to Ubuntu 20 LTS and Mythtv
>> 31. I'm sure that will help long term, but it sure created some
>> >     additional drama :)
>> >
>> >     I found some old tuning parameters in mysql.cnf that I think were
>> problematic (thanks Bill from another post of yours I stumbled across).  I
>> >     removed those and it seems to help.  MFDB logging shows that
>> inserts/deletes are now taking 1 second or less, as seen here:
>> >
>> >     2022-06-07 21:47:44.317605 I  Removing existing program:
>> 2022-06-13T14:00:00Z - 2022-06-13T15:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> Little People, Big World
>> >     2022-06-07 21:47:45.123297 I  Inserting new program    :
>> 2022-06-13T14:00:00Z - 2022-06-13T15:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> Little People, Big World
>> >     2022-06-07 21:47:47.038876 I  Removing existing program:
>> 2022-06-13T15:00:00Z - 2022-06-13T16:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> Little People, Big World
>> >     2022-06-07 21:47:47.927278 I  Inserting new program    :
>> 2022-06-13T15:00:00Z - 2022-06-13T16:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> Little People, Big World
>> >     2022-06-07 21:47:49.853728 I  Removing existing program:
>> 2022-06-13T18:00:00Z - 2022-06-13T19:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> 90 Day Diaries
>> >     2022-06-07 21:47:50.308645 I  Inserting new program    :
>> 2022-06-13T18:00:00Z - 2022-06-13T19:00:00Z
>> I57391.json.schedulesdirect.org
>> >     <http://I57391.json.schedulesdirect.org> 90 Day Diaries
>> >
>> >     Still, this is going to take longer than one would think
>> necessary.  Especially, given that this is not the first run following the
>> upgrade.
>> >
>> >     I have a few questions about why MFDB is slow:
>> >
>> >     1.  Does the number of channels in the Sqlite database matter?  I
>> have 1,000 channels of which only 90 are marked as "selected."  Should
>> >     I/can I delete the unused channels?
>> >     2. Does the number of channels in the mythtv database matter?  I
>> have 1,300 channels, of which 100 or so are marked as "visible." Should
>> >     I/can I delete the unused channels?
>> >     3.  I noticed that the XMLTV download to /tmp had over 1 million
>> lines, per "cat /tmp/xxx | wc".  That seems large.
>> >
>> >     Which of these is possibly slowing me down?  I assume #1, so I
>> tried to delete "unselected" channels from the sqlite database, but they got
>> >     reloaded later.  I can't recall what command I ran that caused the
>> reload, or if this was automatic and unavoidable.  Thoughts?
>> >
>> >
>> >     Larry
>> >
>> >         _______________________________________________
>> >         mythtv-users mailing list
>> >         mythtv-users at mythtv.org <mailto:mythtv-users at mythtv.org>
>> >         http://lists.mythtv.org/mailman/listinfo/mythtv-users <
>> http://lists.mythtv.org/mailman/listinfo/mythtv-users>
>> >         http://wiki.mythtv.org/Mailing_List_etiquette <
>> http://wiki.mythtv.org/Mailing_List_etiquette>
>> >         MythTV Forums: https://forum.mythtv.org <
>> https://forum.mythtv.org>
>> >
>> >
>> > As recommended, I've upgraded: the O/S is LTS 20.04.4, MariaDB is
>> 10.3.34, and Mythtv is V31 w/fixes.  XMLTV module is version 0.6.1 and
>> > tv_grab_zz_sdjson_sqlite is version 1.66.
>> >
>> > However, mythfilldatabase still takes over 6 hours daily.  Can anyone
>> say if this is normal?  Top shows a low level of CPU for all related
>> > processes.
>> >
>> > One side effect of all this is the database wait timeout issue that
>> nukes the upcoming recordings.  I think I've addressed that with a global
>> > change to bump up the default 8hour timeout. Time will tell.
>> >
>> > Here is a snippet of the log showing where mythfilldatabase spent time:
>> >
>> > 2022-06-13 01:01:15.313333 I  Cardutil: HDHomeRun Cablecard Present.
>> > 2022-06-13 01:01:15.333400 I  Cardutil: HDHomeRun Cablecard Present.
>> > 2022-06-13 01:01:15.353206 I  Cardutil: HDHomeRun Cablecard Present.
>> > 2022-06-13 07:33:51.007237 I  Updated programs: 5891 Unchanged
>> programs: 32563
>> > 2022-06-13 07:33:51.865934 N  Data fetching complete.
>> > 2022-06-13 07:33:51.866108 I  Adjusting program database end times.
>> > 2022-06-13 07:33:53.149755 I      0 replacements made
>> >
>> > I can add more logging if anyone has suggestions on what to look for.
>> I just can't see why this process should take more than 15 minutes to
>> > perform a daily incremental change.
>>
>> I recall your saying you have 100ish channels marked as selected in the
>> SQLite DB.
>>
>> Is there exactly one SchedulesDirect.DB file? locate SchedulesDirect.DB
>> finds all files of that name in *buntu at least.
>>
>> --
>> Bill
>>
>
> Bill, there is one sqlite database.
>
> I'll note that running the grabber takes less than a minute.  I just ran
> it manually like so:
>
> tv_grab_zz_sdjson_sqlite --config-file
> ~/.xmltv/tv_grab_zz_sdjson_sqlite.conf --output /tmp/lmk2.xml
>
> Then, I ran mythfilldatbase manually:
>
> mythfilldatabase -v xmltv,database --file --only-update-guide --sourceid 2
> --xmlfile /tmp/lmk2.xml
>
> Queries are fast,
>


On second look, queries are slow too.  Select from Person can take upwards
of 400ms:

2022-06-13 21:33:10.412506 I  MSqlQuery::exec(DBManager1) SELECT person
FROM people WHERE name = 'Angel Parker' <<<< Took 323ms, Returned 1 row(s)

If I run these same queries from SQL Workbench on a windows desktop, they
are immediate, perhaps from caching. But I suspect something else might be
going on..


> but I'm seeing inserts/replace commands that take over 800ms, so that
> doesn't bode well for potentially thousands of inserts:
>
> 2022-06-13 21:33:36.706803 I  MSqlQuery::exec(DBManager1) REPLACE INTO
> credits        ( person,  chanid,  starttime,  role) VALUES ('6708',
> '20892', '2022-06-30T10:00:00.000Z', 'producer')  <<<< Took 866ms
>
> That suggests a mysql/mariadb database issue, no?
>
> Larry
>
>
> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://lists.mythtv.org/mailman/listinfo/mythtv-users
>> http://wiki.mythtv.org/Mailing_List_etiquette
>> MythTV Forums: https://forum.mythtv.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20220613/291ef2db/attachment.htm>


More information about the mythtv-users mailing list