Notes from stress testing session with Narayan on 8/6/02:

These are all with single mpd, running as user.

1.   foreach i (1 2 3 4 ... 20)
     mpdrun -np 4 hostname &
     end

     get funny error message mentioning mpdringtest, and "try later".
     Presumably this is because the connection is busy. 
     Perhaps mpdrun should do some sort of microsleep and try itself.
     Sometimes "broken pipe" message.  

2.  mpdrun -np 300 hostname
    takes a really long time to start, probably because of loading big
    python interpreter so many times.

    Sometimes "too many open files in system message".  Should impose
    limit (256?) on -np argument.

3.  Even at small numbers,
    ^C while mpdrun -np 10 hostname is getting set up reports ugly error
    messages, although it doesn't crash the mpd.  ^C of running infloop
    works fine, presumably because mpdrun has disconnected from mpd.  Look
    for better handling of early ^C of mpdrun.

4.  Ugly message when executable not found.

5.  ^C of mpdringtest gives ugly error message.  Presumably same as 3.

6.  Configuration for run-as-root should be via --enable-root as before.

7.  Group id and group membership not set right when running on root mpd
    while not root.

8.  I don't like the current scheme of having the user use rmpdrun to run
    on the root mpd's and mpdrun to run on his own.  I prefer a two-tier
    system:

    a) The user should just set his path to his own mpd's and mpdrun to
       use his own ring, and set his path to the root's mpdrun to use
       the system's.

    b) This can be overridden by an environment variable that points to
       the right unix socket.  That way the same mpdrun can be used
       to talk to multiple rings.

9.  Makefile should clean the mpdroot executable.
