Performance?

Raspberry Pi related support

Performance?

Postby skrodahl » 27 Jan 2014, 10:40

Hi, and thanks for a fantastic little distro.

I would like to offer some feedback on performance, as I'm experiencing problems playing standard CD-quality flac files without skipping. This is on a Raspberry Pi model B, overclocked to 900MHz.

As soon as I start playing a file, the average load goes up to around 1.5. Music is skipping, the web interface is mildly unresponsive and using it leads to even more skipping. I'm using the Mupeace app for Android, and it too is quite unresponsive.

Looking at the running network services (while being logged in as root, using 'netstat -tulpn), there is one major culprit. Samba is running by default. There are also the avahi-daemon, which can be useful, but I don't need or want it, and the rpc.statd/rpcbind that I don't need either as I'm not using NFS. There's also two netcat services running, that I'm not able to stop.

Stopping these services leads to CPU-usage in the 5-7% range for 16/44.1 flac, average load of < 0.05, and all performance problems are blown away. Not only that, I can consistently play 24/192 flac files using my NuForce uDac2 DAC (max 96kHz). Load is high, CPU-usage arount 80%. All the time, the web interface and Mupeace performance is excellent.

I'm also able to connect to wifi, using 'wifi-menu -o', and then 'netctl start wlan0-<SSID>'.

My main concern now is to make these settings "stick" between reboots. From what I can gather, few or none of the files in the /etc folder are actually used. The same seems to go for /var/www/_OS_SETTINGS/etc.

I can stop the services using either 'systemctl stop <service>' or plain old 'kill'. But using 'systemctl disable <service>' only removes them from /etc/systemd, which does nothing after a reboot. However, using 'netctl enable' will add my wi-fi to the init-scripts.

Would it be possible for you to add some documentation on how the init-configuration works in the distro? Perhaps even add options in the WebUI that lets the user reduce the number of running services? I mean, smbd/nmbd don't need to run. To be blunt, it's music player and not another file server.

Again, thanks a lot. Using this distro gives the best sound quality I've ever experienced. It even beats a dedicated Mac with Audirvana in my setup. It even has way better performance!
Last edited by skrodahl on 28 Jan 2014, 13:36, edited 1 time in total.
-skrodahl

Muffsy Phono Preamp PP-3 || Audiobah TPA3116 || ESP P88 || ProJect Debut Carbon Espirit DC || RuneAudio / RaspBerry Pi / HifiBerry DAC || Dynaco A25
User avatar
skrodahl
Moderator
 
Posts: 160
Joined: 27 Jan 2014, 10:08
Location: Sweden

Re: Performance?

Postby skrodahl » 27 Jan 2014, 20:57

Edit: Wi-fi is not an option right now. If there is no cabled connection (even starting the Raspberry Pi without a network cable, or wi-fi only) MPD will think that any NAS connections are non-existant and remove all music from the database.
-skrodahl

Muffsy Phono Preamp PP-3 || Audiobah TPA3116 || ESP P88 || ProJect Debut Carbon Espirit DC || RuneAudio / RaspBerry Pi / HifiBerry DAC || Dynaco A25
User avatar
skrodahl
Moderator
 
Posts: 160
Joined: 27 Jan 2014, 10:08
Location: Sweden

Re: Performance?

Postby Orion » 04 Feb 2014, 16:54

Hi skrodahl,
thanks for your detailed report, I'm sorry for the delay of this reply.
Your load levels are not normal. Please can you post here your debug data?

In upcoming v0.3 we will introduce single-feature switch control, so you will be able to optimize the system exactly on your needs.
For now you can take a look at rune_SY_wrk.php on our GitHub repo, from line 215 to line 364

Code: Select all
....
// start samba
runelog("service: SAMBA start",'');
sysCmd('/usr/sbin/smbd -D --configfile=/var/www/_OS_SETTINGS/etc/samba/smb.conf');
sysCmd('/usr/sbin/nmbd -D --configfile=/var/www/_OS_SETTINGS/etc/samba/smb.conf');
....


You can alter the player startup behaviour. For example if you don't want to start samba, simply comment out the two lines reported above (using double slashes "//" ).

example:
Code: Select all
....
// start samba
runelog("service: SAMBA start",'');
// sysCmd('/usr/sbin/smbd -D --configfile=/var/www/_OS_SETTINGS/etc/samba/smb.conf');
// sysCmd('/usr/sbin/nmbd -D --configfile=/var/www/_OS_SETTINGS/etc/samba/smb.conf');
....


Only for your reference, here there are our testing load average data:

FLAC 16/44.1 RPI RuneAudio 0.2-beta
Code: Select all
load average: 0.15, 0.18, 0.21


FLAC 24/96 RPI RuneAudio 0.2-beta
Code: Select all
load average: 0.45, 0.39, 0.31


FLAC 16/44.1 BBB RuneAudio 0.2-beta
Code: Select all
load average: 0.02, 0.03, 0.06


FLAC 24/96 BBB RuneAudio 0.2-beta
Code: Select all
load average: 0.10 0.09 0.15


We hope to achieve even better results with upcoming v0.3-beta.
Bye

Simone
RuneAudio - Embedded Hi-Fi music player
SoloStereo - Alla riscoperta dell'alta fedeltà
User avatar
Orion
RuneAudio co-founder
 
Posts: 189
Joined: 29 Nov 2013, 02:03
Location: Udine, Italy

support RuneAudio Donate with PayPal


Return to Raspberry Pi

Who is online

Users browsing this forum: Google [Bot] and 14 guests