[mythtv-users] Mythtv 0.24 Acer Revo ALSA WriteAudio buffer underruns

Khanh Tran khanh at khanh.net
Mon Mar 7 03:17:40 UTC 2011


On Sat, Mar 5, 2011 at 10:37 PM, Brian J. Murrell <brian at interlinx.bc.ca> wrote:
> On 11-03-05 12:35 PM, pnetherwood at email.com wrote:
>>
>> SELECT     c.chanid,         c.sourceid,           p.starttime,           p.endtime,        p.title,              p.subtitle,            p.description,    c.channum,            c.callsign,            c.name,           oldrecduplicate,      p.category,            record.recpriority, record.dupin,   recduplicate,          findduplicate,    record.type,        record.recordid,     p.starttime - INTERVAL record.startoffset     minute AS recstartts,     p.endtime + INTERVAL record.endoffset     minute AS recendts, p.previouslyshown,     record.recgroup, record.dupmethod,  c.commmethod,          capturecard.cardid, cardinput.cardinputid,p.seriesid,
>>   p.programid,      p.category_type,      p.airdate,             p.stars,          p.originalairdate,    record.inactive,     record.parentid, (CASE record.type   WHEN 6    THEN record.findid   WHEN 9    THEN to_days(date_sub(p.starttime, interval                 time_format(record.findtime, '%H:%i') hour_minute))   WHEN 10    THEN floor((to_days(date_sub(p.starttime, interval                time_format(record.findtime, '%H:%i') hour_minute)) -                record.findday)/7) * 7 + record.findday   WHEN 7    THEN record.findid   ELSE 0  END) , record.playgroup,    oldrecstatus.recstatus, oldrecstatus.reactivate,                                             p.videoprop+0,         p.subtitletypes+0, p.audioprop+0,   record.storagegroup,     capturecard.hostname, recordmatch.oldrecstatus,                                            record.avg_delay, c.recpriority + cardinput.recpriority + (cardinput.cardinputid = record.prefinput) * 2 AS powerpriority
>> FROM recordmatch
>> INNER JOIN record ON (recordmatch.recordid = record.recordid)
>> INNER JOIN program AS p ON ( recordmatch.chanid    = p.chanid    AND      recordmatch.starttime = p.starttime AND recordmatch.manualid  = p.manualid )
>> INNER JOIN channel AS c ON ( c.chanid = p.chanid )
>> INNER JOIN cardinput ON (c.sourceid = cardinput.sourceid)
>> INNER JOIN capturecard ON (capturecard.cardid = cardinput.cardid) LEFT JOIN oldrecorded as oldrecstatus ON ( oldrecstatus.station   = c.callsign  AND      oldrecstatus.starttime = p.starttime AND      oldrecstatus.title     = p.title )
>> WHERE p.endtime >= NOW() - INTERVAL 1 DAY ORDER BY record.recordid DESC;
>
> That's quite the query.  On my backend it returns 3837 rows.
>
>> I'd be very interested how long the query takes to run on other peoples machines.
>
> 5.5 seconds from a remote client, and that's after having run it a few
> times, so that with hot caches.  It tooks 6s a few hours later.
>
>> Mine takes on average over 3 seconds.
>
> You can see, mine is a whole lot longer than 3 seconds.  I don't have
> any illusions that I have a terribly fast backend though.  AMD
> Athlon(tm) XP 2800+, 1GB memory.  Mysql database is on a FUJITSU
> MPF3153AT which hdparm reports has delivering 23MB/s.
>
>> I do have 8 tv tuner cards (4 with multirec)
>
> I have 5.  4 analog and one digital with 3 multirecs.
>
> b.


I ran the same query and it takes between 4 and 5 seconds each time.
It returns 7,132 records!  My master backend is a Core2Duo E7200 at
2.53GHz, 4GB RAM.  I've got 2 digital (HDHR, no multirec) and 2 analog
tuners (one is on a slave backend).

I have to say though that this query did not spike MySQL to 100%.


More information about the mythtv-users mailing list