Hi, I have recently installed an Icecast 2.3.1 on a couple of dual Xeon CPU x64 server. The server is configured with chroot & changeowner. In order to have an idea of a server's capabilities, used the curl-based script given in icecast.org/loadtest1.php. I have around 3.5k connections from one server to the other one, on an unique 170Kbps MP3 mountpoint, totalizing 720 Mbit/s of traffic. The servers works great, but when I have a look on the CPU usage: top - 01:29:13 up 9:35, 2 users, load average: 0.86, 0.77, 0.73 Tasks: 61 total, 1 running, 60 sleeping, 0 stopped, 0 zombie Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 4.0%us, 20.3%sy, 0.0%ni, 16.7%id, 0.0%wa, 2.0%hi, 57.0%si, 0.0%st ... as you can see, there is only one CPU which is used, although I can see 8 thread in /proc/$pid/task/ Is there any reason for this (maybe an unique IP for the 3.5k listeners, or an unique mountmoint ?), or did I miss something on the config ? The server's kernel is the latest 2.6, and SMP-enabled. Thanks, -- Cl?ment Cavadore
On 4/20/07, Clement Cavadore <clement@cavadore.net> wrote:> Is there any reason for this (maybe an unique IP for the 3.5k listeners, > or an unique mountmoint ?), or did I miss something on the config ? > The server's kernel is the latest 2.6, and SMP-enabled.Icecast uses a number of threads for various tasks, plus one per mountpoint. So, in your case: 7 threads doing not-very-much, and one thread handling your mountpoint. If you use multiple mountpoints your other cpu would be used more. Mike
Michael Smith wrote:> Icecast uses a number of threads for various tasks, plus one per > mountpoint. So, in your case: 7 threads doing not-very-much, and one > thread handling your mountpoint. > > If you use multiple mountpoints your other cpu would be used more.Thank you for the information, I'll set up many mountpoints then, and retry the bench. -- Cl?ment Cavadore
Clement Cavadore wrote:> The servers works great, but when I have a look on the CPU usage: > top - 01:29:13 up 9:35, 2 users, load average: 0.86, 0.77, 0.73 > Tasks: 61 total, 1 running, 60 sleeping, 0 stopped, 0 zombie > Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st > Cpu1 : 4.0%us, 20.3%sy, 0.0%ni, 16.7%id, 0.0%wa, 2.0%hi, 57.0%si, 0.0%st > > ... as you can see, there is only one CPU which is used, although I can > see 8 thread in /proc/$pid/task/ > > Is there any reason for this (maybe an unique IP for the 3.5k listeners, > or an unique mountmoint ?), or did I miss something on the config ? > The server's kernel is the latest 2.6, and SMP-enabled.What you'll be seeing is CPU1 running a source thread for the one stream you have. The other non-source threads icecast has tend to be fairly lightweight depending on what is exactly happening. If you run a second stream (from source client or just a relay of your existing stream) under a different mountpoint then you should see the load distributed more. karl.