On Mon, 2009-09-21 at 21:58 -0400, David Asher wrote:
> On Sep 21, 2009, at 1:34 PM, Daniel Kristjansson wrote:
> > I believe the extra debugging I added to the socket code is making
> > anything that causes the backend to either run slowly or deadlock
> > to look like a socket problem.
>> As a side note it "feels" like any communication to the backend is
> mired in molasses these days. Both Mythweb and my ION frontend seem
> really slow. I was wondering if there are some clunky lock issues but
> I have no idea how to start looking into it. Any tips?
I think the clunky lock issues have been resolved now. I converted
some of the locking to R/W locking and got rid of some excessive
locking in the backend work processing in recent weeks. However,
my aim was only to address worst case performance because that
was causing socket timeouts on fast systems when under load. If you
enable "-v socket,network,extra" debugging you'll notice that a few
things that should be instant take 1 or 2 ms. There are a lot of
little inefficiencies like unnecessary array copies here and there
in MythSocket and elsewhere, fixing these might help on lower end
platforms.
> I've kinda discounted the ION frontend slowness because I'm also
> running it completely on a USB key (home directory and /var/log and
> all) so "disk" writes SHOULD be crazy slow. But Mythweb "feels" the
> same. I'm planning on switching the frontend to PXE boot instead and
> then looking closer at it.
MythWeb has its own socket issues, at least some of the time it
creates new connections instead of reusing existing ones, which
has a bit of an overhead. Also don't discount the database. If
the mysql config makes it slow, MythTV will be slow. I have a
frontend that runs off a USB stick and it is plenty fast. It has
an AMD 64 X2 5400+ CPU, so that helps; plus the USB stick is sold
as being fast for a USB stick, but even a fast USB stick is
relatively slow.
I find the ION platform very interesting as a mythfrontend client.
Once, long ago, I found the VIA platform interesting too, so my
crystal ball has some defects. In any case, I would not expect an
ION to perform well as a frontend without some setup tweaking and
perhaps a custom theme and a few patches. The trend for a while has
been toward a lower end machine on the backend and higher end on the
frontend. That has influences in where CPU intensive ops get run
and has allowed us use themes that hog memory on the frontend. Right
now, my mbe is using 40 megs while the fe on the same machine is
actively using over 200 megs just displaying the menu, and 230 when
playing a video (500 megs is mapped). But, that is really a discussion
for mythtv-users until patches are made...
-- Daniel