View previous topic :: View next topic |
Author |
Message |
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Feb 22, 2012 1:27 pm Post subject: |
|
|
The only xml setting that could help there, for a large bitrate stream is for the block size. In the <mount> you could add something like
<qblock-size>4096</qblock-size>
not sure if that is best figure but the default is 1400 and there are limiters that limit how much is sent without re-scheduling. Should be ok over a reload.
karl. |
|
Back to top |
|
|
mattcamp
Joined: 27 May 2011 Posts: 7 Location: United Kingdom
|
Posted: Sun Feb 26, 2012 5:15 pm Post subject: |
|
|
I see that someone has posted a patch over on the icecast-dev list to add mountpoint config via external files, similar to conf.d/ style operation on unix systems.
http://lists.xiph.org/pipermail/icecast-dev/2012-February/002020.html
Any chance we could get this type of functionality in the KH branch?
There seems to be some discussion that perhaps the method used in this patch wasn't the right one, and I also had concerns that an error in a single included xml file could break the entire config file and cause the server to fail to restart.
I'm attempting to automate creation/deletion of mountpoints, which to date has involved scripts to build icecast.xml based on info stored in an SQL database, then -HUP the server...
(there was also an experiment where I added SQL support directly to the server which seemed to mostly work, but I suspected I was playing with fire with the threading nature of Icecast so I gave up on that angle for now, but would *love* to see that capability!) |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Feb 26, 2012 8:03 pm Post subject: |
|
|
While there are certain merits of the patch, I am in two minds about it. yes xml provides a way to xinclude another xml but as far as I'm aware there is no wildcard type of support for that. The opendir use should be ok on mingw32 (assuming thread safe versions).
I suspect a less mount-only reader would be better, I'm thinking relays, or more specifically allow all except certain groups like security
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Feb 27, 2012 3:40 pm Post subject: |
|
|
well i had a look at the include of xmls and I think it would be better to use the glob routines to merge filenames. I put up some code into github to try out, all that should be required to use it is
<icecast>
...
<include>/path/to/*.xml</include>
or some other similar pattern to match the files to include. This merges the xml which leads to parsing so should allow for any of he top level tags to apply. I've also made it so that if there is an xml error then the whole xml loading stops, which in the case of the reload means that the new xml attempt is not put in place.
karl. |
|
Back to top |
|
|
mattcamp
Joined: 27 May 2011 Posts: 7 Location: United Kingdom
|
Posted: Mon Feb 27, 2012 7:12 pm Post subject: |
|
|
Awesome, thanks!
I'll see about giving it a whirl on my dev server. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Apr 17, 2012 8:34 pm Post subject: |
|
|
Time I got kh32 out. It was supposed to be last month but I've been busy with other things. Many thanks for the reports on the post kh31 work. Despite trying to use the ipv6 routines for win32, I've decided to stick to the usual ipv4 ones as some are reporting issues with it binding to localhost, other than that they do seem to work.
Most changes are internal, verification checks for odd cases, some memory referencing fixes for FLV, some lock fixes, busy looping on fallback fixed. Speedups for stats and master stream listing which should help in many streams cases.
The only external change is the option of including snippets of xml into the main xml, so something like <include>/relays/*.xml</include> could be useful to some who use automatically generated xml files.
From now on, you should use github links. I'll be changing ISP soon and I'm in the process of migrating stuff across so at the moment the previous site is still there. The page is now at
http://karlheyes.github.com/
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sat May 19, 2012 1:12 am Post subject: |
|
|
kh33 is now up. Thanks to those reporting issues. This is mainly a bugfix release so nothing that scary. Page is up on github now, just click the website link and let me know of any issues.
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Jun 24, 2012 1:18 am Post subject: |
|
|
Seeing the 2.3.3 was released, I've decided to relabel this to follow. Note that 2.3.3 is a stability/maintenance update so does not have the workers thread structure so don't expect that.
This update should spread listeners across worker threads more easily, so in cases where you have 1 or 2 streams with far higher numbers of listeners then it should scale better. Obviously there are subtle but significant changes here so feedback welcome but various testers have reported good results with this.
Some flushing out of issues have continued, those annoying messages from libxml2 about unknown entities should be gone now.
Anyway 2.3.3-kh1 is up on github (see website).
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Jul 15, 2012 2:43 pm Post subject: |
|
|
2.3.3-kh2 is now out. This is focused on a stabilising based on the feedback I received. The locking changes in the previous update did have stability issues for relays so those should be fixed, but there are a few fixes for other aspects of icecast as well.
While the workers count should usually be in line with the number of processors you want to use, it has become apparent that in some setups, the system may schedule the workers onto the same core, eg 2 workers getting dropped onto 1 core leaving another core empty. You may find in such cases that using 2 workers per core more effective. More investigation is required but any feedback on that is welcome.
karl |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Aug 08, 2012 12:34 am Post subject: |
|
|
kh3 is now up. A number of changes that followed on from the rwlock updates in kh1 and kh2. A couple of small fixes were added and a reasonable amount of testing has occurred on some of these updates for scaling but more feedback is welcome. win32 has not had much testing so feedback welcome on that.
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Sep 09, 2012 8:13 pm Post subject: |
|
|
Time for kh4. More stability work in this, thanks to the reports from various people. A recommended update if only for the end of queue crash case.
karl. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Sep 12, 2012 2:40 am Post subject: |
|
|
Turns out a kh5 is needed. If you have intro files then you may notice instability.
karl. |
|
Back to top |
|
|
robertut
Joined: 31 Aug 2007 Posts: 156
|
Posted: Thu Sep 27, 2012 1:57 pm Post subject: |
|
|
Karl, thanks for your work.
We upgraded our streammaster servers from Windows to Ubuntu LTS, and continue to use your -kh versions. This time we don't use ready-made binaries, we make our own.
A new CDN company takes over mass-serving the streams to 10ns of thousands of listeners, we convinced them to use the relay features of icecast instead of making us pushing straight from our encoders to them. Much better like this, as we can have 100% control over things like metadata and stuff.
A pleasant suprirse, it works much better under Linux than it did under Windows. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Thu Sep 27, 2012 11:12 pm Post subject: |
|
|
win32 has always been a second tier platform. 95% is exactly the same code but how good or scalable the last bit is harder to determine.
karl. |
|
Back to top |
|
|
robertut
Joined: 31 Aug 2007 Posts: 156
|
Posted: Fri Sep 28, 2012 8:19 am Post subject: |
|
|
We still have a Windows server.
One thing to note in the latest builds: hitting "Reload Config" in the web interface of the win32 version disconnects all the clients. It shouldn't...
The Linux version doesn't do that. |
|
Back to top |
|
|
|