NSLU performance

Viewing 10 posts - 11 through 20 (of 37 total)
  • Author
    Posts
  • #8733
    rpedde
    Participant

    @mas wrote:

    So the performance is more than enough, if one doesnt overwhelm the unit by trying to do everything at the same time. What you describe seems to indicate something is wrong, thats not the slow NSLU.

    I agree. What kind of file system is the drive that houses your music and database? Is it NTFS? That’s notoriously slow on the NSLU2.

    — Ron

    #8734
    mas
    Participant

    Well the speed is not even the problem with the proprietary paragon NTFS driver that the unslung and original software uses.
    I tried it in the beginning, you dont even notice any speed issues. The driver is so buggy that it corrupts your data before you have a chance of complaining about the speed. LOL*
    Usually 15 minutes of heavier use and its set to readonly because of an error. What a joke.

    So I dont think this can be the source of the problem. We should have heard another type of complaint then.

    #8735
    uncleremus
    Participant

    Hello and thanks again for all your help.

    I have done exactly as it says in the unslung README that they say is mandatory to follow to the point, which I did. So, I “ipkg”:ed out mt-daapd and that’s about it what I have installed outside of what that README implies.

    Oh yes, I have also installed midnight commander.

    As for the external disc, it is ext3.

    #8736
    rpedde
    Participant

    @uncleremus wrote:

    Hello and thanks again for all your help.

    I have done exactly as it says in the unslung README that they say is mandatory to follow to the point, which I did. So, I “ipkg”:ed out mt-daapd and that’s about it what I have installed outside of what that README implies.

    Oh yes, I have also installed midnight commander.

    As for the external disc, it is ext3.

    How many songs do you have in your corpus?

    #8737
    zuovo2
    Guest

    I also had serious performance issues with browsing, running mt-daapd on an NSLU2, and fixed most of them as follows:

    1) Overclocking the slug was super easy (using just tweezers, no solder), and this gave me a 30% performance boost for getting the full Artists list. See http://www.nslu2-linux.org/wiki/HowTo/OverClockTheSlug.

    2) Cleaning or splitting your music collection to sets of 5K or fewer songs, if possible, would fix the problem. In my case, most of my mp3s were in a backup folder that was double-indexed (doh!). Moving that folder and deleting some other junk brought the number of songs well under 10K. You might also consider splitting your collection and running multiple instances of firefly as discussed in http://forums.fireflymediaserver.org/viewtopic.php?t=4688, though this seems like a last-resort hack.

    3) Indexing the artist/album/genre columns of the songs table gives a huge improvement for browsing with partial criteria (eg give me all albums for artist X, or give me all artists for genre Y). But as you noticed, it does not affect the query for a full list of artists, albums, and genres. This is because the index affects only queries where that column is in the search criteria (e.g. “select * from songs where artist=’X'”) not queries where that column is just in the results (e.g. “select artist from songs”).

    On my system, it now takes 6-8s to get the full Artists list from Firefly. Not as bad as your 30s delay, but still unacceptable IMO to begin every browse.

    In my case, I looked for a solution on the client, not the server. I use a wireless PocketPC running VisualMR to control my SoundBridge, and Thorsten, bless his soul, was kind enough to implement client-side caching of the artist/album/genre lists in VisualMR 1.5. Since my PocketPC is always on, getting the full list of artists, albums, or genres is now instantaneous. No Firefly queries, no SoundBridge commands, no wireless roundtrips. I only need to clear the cache and re-fetch the lists of artists, etc. when I add new files on the server.

    I’m guessing that this performance issue could also be fixed on the server if Firefly maintained a separate “artists” table in songs.db. Then the database would not need to scan the entire “songs” table to get the list of artists, which is much smaller than the list of songs. Ditto for albums and genres. If enough people are running Firefly on slow NAS units with large music collections, perhaps Ron will consider this. It can’t hurt to ask, anyway. ๐Ÿ™‚

    Happy listening – hope this helps!


    Linksys NSLU2 — 266Mhz, EXT3, Unslung 6.8 beta, Firefly svn-1450
    SoundBridge M1001 — 2.7.50, WPA-TKIP
    Dell Axim X30 — WM2003SE, WPA-TKIP, VisualMR 1.5.0

    #8738
    uncleremus
    Participant

    Hello guys,

    I have been travelling in work and not been able to check this out. Thanks a lot for your answers.

    rpedde: I have some 10-15000 songs in my collection.

    #8739
    uncleremus
    Participant

    @rpedde wrote:


    $ sqlite /opt/var/mt-daapd/songs.db
    sqlite> create index idx_artist on songs(artist)

    That should build the index, and it should use that index when doing browses by artist.

    — Ron

    And now, when I want to rebuild this structure because I’ve added a lot songs, how do I update this?

    #8740
    uncleremus
    Participant

    Maybe I screwed up really this time, because now I cannot get anything to start anymore. I tried to fiddle around with sqlite on my own and now I cannot start the server. This is what I get in the log when I try to start (with -r):

    2007-02-25 00:17:54 (00000400): Firefly Version svn-1489: Starting with debuglevel 2
    2007-02-25 00:17:54 (00000400): Starting rendezvous daemon
    2007-02-25 00:17:54 (00000400): Starting signal handler
    2007-02-25 00:17:54 (00000400): Error: enum_begin failed (error 1): Misc SQL Error: no such table: config
    2007-02-25 00:17:54 (00000400): Can't get db version. New database?
    2007-02-25 00:17:54 (00000400): Initializing database
    2007-02-25 00:17:54 (00000400): Error: enum_begin failed (error 1): ?
    2007-02-25 00:17:54 (00000400): Error: enum_begin failed (error 1): ?
    2007-02-25 00:17:54 (00000400): Full reload...
    2007-02-25 00:17:54 (00000400): Starting mp3 scan
    2007-02-25 00:17:54 (00000400): Error inserting file johnny_dont_do_it.flac in database
    2007-02-25 00:17:54: Aborting
    2007-02-25 00:17:54 (00000400): Rendezvous socket closed (daap server crashed?) Aborting.
    2007-02-25 00:17:54: Aborting
    #8741
    rkelly
    Participant

    @uncleremus wrote:

    Maybe I screwed up really this time, because now I cannot get anything to start anymore. I tried to fiddle around with sqlite on my own and now I cannot start the server. This is what I get in the log when I try to start (with -r):


    2007-02-25 00:17:54 (00000400): Can't get db version. New database?
    2007-02-25 00:17:54 (00000400): Initializing database
    2007-02-25 00:17:54 (00000400): Error: enum_begin failed (error 1): ?
    2007-02-25 00:17:54 (00000400): Error: enum_begin failed (error 1): ?
    2007-02-25 00:17:54 (00000400): Full reload...
    2007-02-25 00:17:54 (00000400): Starting mp3 scan
    2007-02-25 00:17:54 (00000400): Error inserting file johnny_dont_do_it.flac in database

    I had that some time ago while updating Firefly.
    Just delete the database…

    #8742
    flojomojo
    Participant

    @fizze wrote:

    hehe, thats prolly the newbie SQL error/trap #1, ever ๐Ÿ˜€

    you need to end all your commands with a semicolon

    ;

    ๐Ÿ˜‰

    That’s good advice, thanks. Now what can I do when I get: “error: database locked”?

    EDIT: never mind, everything a noob needs is here:
    http://forums.fireflymediaserver.org/viewtopic.php?t=4688,

Viewing 10 posts - 11 through 20 (of 37 total)
  • The forum ‘General Discussion’ is closed to new topics and replies.