Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1

    Suggestions for improving LMS performance?

    Using what I believe is a more than adequate system for the LMS, I am amazed at how slow the web interface can be to react, even from a browser on the server system itself.

    Are there any obvious tweaks that can be made? The wiki article on performance monitoring was so out of date I didn't bother with it. I was going to try using mysql instead of sqlite, but it seems this is depreciated for LMS, and isn't considered a performance enhancer?

    I am not complaining or trying to be rude, so I apologize if I come off that way. I have had the squeezebox server running over the years on gentoo, debian, ubuntu, and now fedora, and the distro never seemed to make much difference in the performance. Switching to an SSD was probably the largest boost, but it can still take real seconds to get a page load sometimes. Google Chrome or Firefox.

    Is it possible that the web interface itself is an issue? It is heavy on the JS, but what site isn't these days?

    Thank you for any advice!


    The setup:

    I have "Database memory config" set to High, Library Statistics are disabled, and Artwork Pre-caching is on. I have disabled almost every plugin it will let me.

    Code:
    Intel® Core™2 Quad CPU Q6600 @ 2.40GHz × 4
    6GB ram
    OS/Swap/Home partitions on an SSD drive
    
    Mikrotik RB450G gigabit router with 256MB ram
    
    Logitech Media Server Version: 7.7.2 - r33893 @ Wed Mar 14 06:31:06 MDT 2012
    Hostname: crudora.schiznet
    Server IP Address: 10.20.30.6
    Server HTTP Port Number: 9000
    Operating system: Red Hat - EN - utf8
    Platform Architecture: x86_64-linux
    Perl Version: 5.14.2 - x86_64-linux-thread-multi
    Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1)
    Total Players Recognized: 2
    
    Total Images: 0
    Total Videos: 0
    Total Tracks: 29,953
    Total Albums: 2,704
    Total Artists: 894
    Total Genres: 40
    Total Playing Time: 2338:56:20

  2. #2
    Senior Member Mnyb's Avatar
    Join Date
    Feb 2006
    Location
    Västerås Sweden
    Posts
    11,672
    This must be somewhat subjective ? I dont think it is to slow on my much smaller machine an N36L Microserver 1,5Ghz dual core AMD 1GB (that has no gui btw ,headless ClearOS linux ) ? You done a clear rescan everything lately it needs to be done sometimes now and then i've noticed .

    I tend to think that it is actually slower on the machine running the server , it can be faster on another machine .

    I experimented with the "Items Per Page" setting a while ago that is default 50 , make that really big and it’s used getting very slow , so do you have that setting to something huge ? 500 is maximum .

    Weird enough I recently changed desktop and the web-UI is considerably faster ? with the same server , items per page setting 500 only give a 2 second glitch now ?
    Suggesting that it is the browser that bogs things down ?


    Total Tracks: 36,923
    Total Albums: 3,067
    Total Artists: 1,304
    Total Genres: 221
    Total Playing Time: 2791:03:00
    --------------------------------------------------------------------
    Main hifi: Touch + CIA PS +MeridianG68J MeridianHD621 MeridianG98DH 2 x MeridianDSP5200 MeridianDSP5200HC 2 xMeridianDSP3100 +Rel Stadium 3 sub.
    Bedroom/Office: Boom
    Kitchen: Touch + powered Fostex PM0.4
    Misc use: Radio (with battery)
    iPad1 with iPengHD & SqueezePad
    (in storage SB3, reciever ,controller )
    server HP proliant micro server N36L with ClearOS Linux

    http://people.xiph.org/~xiphmont/demo/neil-young.html

  3. #3
    Senior Member
    Join Date
    May 2008
    Location
    United States
    Posts
    8,171
    Quote Originally Posted by Mnyb View Post
    This must be somewhat subjective ? I dont think it is to slow on my much smaller machine an N36L Microserver 1,5Ghz dual core AMD 1GB (that has no gui btw ,headless ClearOS linux ) ? You done a clear rescan everything lately it needs to be done sometimes now and then i've noticed .

    I tend to think that it is actually slower on the machine running the server , it can be faster on another machine .

    I experimented with the "Items Per Page" setting a while ago that is default 50 , make that really big and it’s used getting very slow , so do you have that setting to something huge ? 500 is maximum .

    Weird enough I recently changed desktop and the web-UI is considerably faster ? with the same server , items per page setting 500 only give a 2 second glitch now ?
    Suggesting that it is the browser that bogs things down ?


    Total Tracks: 36,923
    Total Albums: 3,067
    Total Artists: 1,304
    Total Genres: 221
    Total Playing Time: 2791:03:00
    I'm using firefox on either a win7 laptop or win7 desktop. With the following library, I get pretty snappy performance when selecting things, browsing, etc. (I have my max items per page at default 50 as well). there is a maybe a 2 second delay when I select new music, but for selecting artist, or album, or genre, it is virtually instant.

    Total Images: 0
    Total Videos: 0
    Total Tracks: 68,986
    Total Albums: 5,298
    Total Artists: 1,790
    Total Genres: 78
    Total Playing Time: 5973:27:37
    Location 1: VortexBox Appliance 6TB (2.2) > LMS 7.7.2 > Transporter, Touch, Boom, Radio w/Battery (all ethernet)
    Location 2: VBA 3TB (2.2) > LMS 7.7.2 > Touch > Benchmark DAC I, Boom, Radio w/Battery (all ethernet except Radio)
    Office: Win7(64) > LMS 7.7.2 > SqueezePlay
    Spares: VBA 4TB, SB3, Touch (3), Radio (3), CONTROLLER
    Controllers: iPhone4S (iPeng), iPad2 (iPengHD & SqueezePad), CONTROLLER, or SqueezePlay 7.7 on Win7(64) laptop
    Ripping (FLAC) - dbpoweramp, Tagging - mp3tag, Spotify

  4. #4
    Senior Member
    Join Date
    Apr 2005
    Location
    Colorado
    Posts
    10,073
    Your library is about the same size as mine. How long does a full (clear & rescan) library scan take? At 30k tracks, it's probably not worth the trouble of moving to MySQL, although you might still consider it. At that level, IMO, SQLite is just as fast or faster.

    How long are you waiting for web pages to load? I set my items per page at 80, but the way LMS pages things alphabetically (not breaking in the middle of a letter), a page of albums could easily have 125 or more items on it. I'd say I typically wait about 1.25 to 2 seconds for each page to load.

    Edit: I missed this:

    I have "Database memory config" set to High, Library Statistics are disabled, and Artwork Pre-caching is on. I have disabled almost every plugin it will let me.
    Library statistics shouldn't add much overhead. I think it's only a couple database queries run to get the totals shown at the bottom of each web page.

    Are your databases (ideally, the whole cache directory) located on the SSD?
    Last edited by JJZolx; 2012-06-19 at 13:02.

  5. #5
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    11,251
    Quote Originally Posted by skibler View Post
    Is it possible that the web interface itself is an issue? It is heavy on the JS, but what site isn't these days?
    Each JS page is built from a template using Perl (single threaded still I think) and then the JS page is rendered by browser. So the first time a page is generated there is a good deal of processing. Once generated a page is cached in Cache/templates. Is the LMS Cache directory on your SSD ?

  6. #6
    Senior Member
    Join Date
    Apr 2005
    Location
    Colorado
    Posts
    10,073
    Quote Originally Posted by bpa View Post
    Each JS page is built from a template using Perl (single threaded still I think) and then the JS page is rendered by browser. So the first time a page is generated there is a good deal of processing. Once generated a page is cached in Cache/templates. Is the LMS Cache directory on your SSD ?
    Aren't only the templates themselves cached, rather than the generated HTML page?

  7. #7
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    11,251
    Quote Originally Posted by JJZolx View Post
    Aren't only the templates themselves cached, rather than the generated HTML page?
    I can't remember the full details but I think the templates are used to generate HTML/JS files and these are cached as these pages required lots of Perl/LMS processing and the aoim of the LMS Cache is minimise LMS processing. The browser may in turn cache the HTML/JS pages and the .js files which are pulled in by the HTML/JS pages.

    To illustrate
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    
    	<head>
    		[% PROCESS standardheader.html %]
    	</head>
    
    	<frameset cols="50%,50%" frameborder="no" framespacing="0">
    		<frame name="browser" noresize src="home.html?player=[% playerURI %]">
    		<frameset frameborder="no" framespacing="0" rows="170,*">
    			<frame name="status" noresize scrolling="no" src="status_header.html?player=[% playerURI %]">
    			<frame name="playlist" noresize src="playlist.html?player=[% playerURI %]">
    		</frameset>
    	</frameset>
    	<noframes>
    		<body>
    			This page requires Frames.
    		</body>
    	</noframes>
    </html>
    The above is a template index.html file - alll the "[% %]" stuff in this file need to be processed and expanded and the output will be put into the LMS cache.

  8. #8
    Senior Member gharris999's Avatar
    Join Date
    Apr 2005
    Location
    Santa Fe, NM
    Posts
    3,299
    Really, that setup ought to be very fast. Have you tried booting the server sans GUI? I.e. boot to run level 3? I'd be curious to know if that makes a difference for you.

  9. #9
    Member
    Join Date
    Aug 2005
    Location
    uk
    Posts
    31
    Is your server running lots of other tasks? If so you could try changing the server priority.
    What does 'free' tell you about swap usage?

    BTW I'm running LMS on a intel atom with debian and the performance seems fine, so I would expect your box to be smoking

  10. #10
    Senior Member
    Join Date
    Apr 2008
    Location
    Paris, France
    Posts
    1,466
    I sometimes use a "huge" 6 core, 3GHz AMD machine and it lags when I open a Nautilus window under ubuntu…
    This machine setup is pure ubuntu stock, it has power saving enabled. I don't care much but obviously there is room for tuning.

    I would suggest disabling power management (in the bios) and see how the machine goes. On the linux kernel side you could try booting with option nohz=off and see if you get a different behavior. At application level you could try raising the priority of server processes, perhaps make them "real time" class (I don't think I've tried doing this with SBS; I would check if all processes launched by SBS are in the RT class.) Although your machine does not appear to be short of RAM you may want to experiment with vm.swappiness, too.

    In case you start seeing things that you like better, perhaps you'll want to compile your own kernel, changing kernel main loop frequency and task scheduler behavior. I'm no expert so I'll just point you to this conversation for inspiration: http://stackoverflow.com/questions/4...x-kernel-timer

    (Of course I suppose you are not running a gazillion applications at the same time, with SBS sinking to swap. Check 'free' first.)
    Last edited by epoch1970; 2012-06-21 at 05:56.
    4 SB 3 • iPeng (iPhone + iPad) • SqueezeLite • Squeezebox Server 7.6.2 (Debian 6.0) with plugins: CD Player, WaveInput by bpa • IRBlaster by Gwendesign (Felix) • Server Power Control by Gordon Harris • Smart Mix by Michael Herger • PowerSave by Jason Holtzapple • Song Info, Song Lyrics by Erland Isaksson • Just Covers by Tom Kalmijn • WeatherTime by Martin Rehfeld • Local Player, BBC iPlayer, SwitchPlayer by Triode • Auto Dim Display, SaverSwitcher, ContextMenu by Peter Watkins.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •