View Full Version : Random Mix performance - huge disk hit with large library

2006-08-22, 07:17
I've been searching through the forums for the past week, reading everything I could find related to Random Mix performance, large library performance, etc., but still haven't come across anything that helped yet (could be my searching skills? :)

I'm having performance issues during Random Song Mix (which is what I listen to 99.9% of the time, across my whole collection) - I primarily listen by streaming (either via foobar2k on the slimserver computer itself, or with foobar2k from work over the Internet), but the issue affects my Squeezebox as well, to a lesser degree.

The short version - at the end of every song (in random mix song mode), I get silence just before the end of the song, often as much as several seconds (about 8 in the worst instances)... after the silence, I hear the end of the song, followed by the next song. I've increased my foobar2k buffer to 8000ms (the max as far as I can tell), and that has helped somewhat, maybe half the time.

Here are the details of my setup:

- P4 3Ghz hyperthreaded
- 1.5GB RAM
- Windows XP sp2
- ActivePerl 5.8.7 build 815
- main drive (with slimserver) Barracuda ST3120023A 120GB (IDE ATA/100, 7200 RPM, 2MB
- several SCSI drives and external USB2.0 hard drives
- SlimServer Version: 6.3.1 - 8278 - Windows XP - EN - cp1252 (SQLite)
- 89648 songs 6652 albums 9078 artists 292 genres
- Music folder contains only windows shortcuts to other folders on various drives
- tags are all over the place, and organization is poor... deep
paths, long names... I'm working through it slowly now that I
know how to properly rip and tag (and have a central database!)
- the machine is not dedicated to slimserver, but generally has tons of memory, CPU and disk headroom (both space and activity)

Doing some performance monitoring, I noticed that the problem appears to be when Slimserver adds the next track onto the end of the playlist - the disk queue length on the C: drive (where Slimserver is) spikes and holds for 8-10 seconds or more... while it does, it doesn't look like slimserver is sending any data out, so I'm ending up with empty buffer.

A few days ago I tried to cut over to using MySQL 4.1 (with the database on a different drive), and things seemed to be faster, but I was having functional problems (crashes during scans due to paths or tags being too large for columns I think)... that may still be the best solution. I'm also considering trying to install slimserver on a different disk that has better specs or less activity.

I'm not ready to move to the 6.5 server yet, as I use it constantly and don't have time for potential instability right now - my questions are:

- why am I seeing such a huge disk hit every time a song is added for Random Mix - is it library size, long paths, ? I would think that picking a random number between 1 and 90k wouldn't be that much of a hit, so I clearly don't understand what the Random Mix plugin is doing :)

- is there a way to move just the slimserversql.db (currently 143,945 KB) to another drive without re-installing slimserver to the other location?

- am I using a bad version of Perl or doing something else stupid?

- it seems like I should really cut over to MySQL - if I commit that direction, are things actually solid? My 24-hour try a few days ago was fundamentally successful (slimserver ran, songs were scanned, etc. - I don't recall trying random mix, so I must be an idiot :) )

Thanks for reading and your thoughts!