Diagnosing Performance Issues
Diagnosing Performance Issues with the Server & Network Health Plugin
SlimServer 6.5 ships with a plugin which helps diagnose common performance problems such as audio drop-outs. The plugin provides the "Network Test" screen on the player plugin menu and a series of web pages which are accessed from "Server and Network Health" in the "Help" section of the main web page.
The Squeezebox - SlimServer architecture relies on the correct operation of 3 components for successful music streaming:
- server software : this must respond fast enough to send data to the player when it wants it
- network : this must have enough capacity to carry the data to the player without dropping it
- player : the player itself
Most performance issues are due to either server or network problems meaning that the audio stream is not reliably received by the player. The plugin provides tools to help diagnose these issues.
Network Test enables a simple test of the bandwidth across your network. It can be used to check that your network provides enough bandwidth to stream files in your favorite format to your player. Common formats require the following bandwidths:
- flac : 1000 kpbs
- wav/aiff : 1500 kbps
- mp3 : 128 - 320 kbps (depending on coding of file)
For a simple spot test of network performance, the easiest way to use Network Test is select it from the Plugin menu of the player using the remote control. As soon as you enter Network Test, test traffic is sent to the player at a defined rate and the screen records the percentage of this traffic which is successfully received. Pressing the up/down buttons changes the test rate.
Use the player version of Network Test to check that the network is able to support the rate required by your files at 100%. It will also show any drop in network performance due to wireless interference as a brief drop in throughput. Depending on the type of player it may be able to tolerate brief drops in throughput but you should investigate the cause of any prolonged drops.
The Network Test function may also be accessed from the web page. [Select "Server and Network Health" from the Help section of the web front page.] The web version records the measurements over an extended period of time and plots them on a graph. This allows you to gauge how frequently drops in performance occur. Select a test rate and leave it going for a period of time, then refresh the page to see a graph of the results.
[Note - On very slow servers Network Test may over read.]
The server collects performance data for a number of internal functions when "performance monitoring" is enabled. It is enabled from the Network and Server Health front page.
Once enabled, you can see the details of each performance measurement by selecting player or server statistics. Each entry shows the distribution of the measurement data taken in the form of a graph. This shows the number of measurements which fall within a given band and the min/average/max measurement.
Most of the performance measurements are only of interest to advanced users. However the "Server Response Time" measurement provides an overall indication of server performance. It records how rapidly the server is able to respond to requests for information from players. If there are any readings above 0.5 seconds, then the server is unable to respond to players as fast as it should and poor performance may result.
To help diagnose poor server reponse times, follow the following steps:
- Enable Performance Monitoring on the Server and Network Health page (under the Help menu)
- Select the Server Statistics page
- Enter "0.5" in the box at the very bottom of the page between High and Set All and then press "Set All"
- Leave the server to run for some time until you experience poor performance
- Look at the server log to see if there are any "Response Time > 0.5" entries in the log. [The server log is available from the link at the top of the Server Statistics page.]
If the resulting server log contains multiple entries with Response Times > 0.5 and you are unable to diagnose further from the log, post all entries from the log to the forums to seek support. In many cases poor server response time is due to specfic plugins or internal server errors which can be diagnosed from the log.
Enable Performance Monitoring as above. Play, or attempt to play, several tracks. Select "Player Statistics: <player name>". The resulting data are self-explanatory - low signal strength can lead to low buffer fullness, which can lead to music stuttering or skipping. High values in the Control Connection section indicate low bandwidth or network congestion.