I'm load-testing Wowza 3.0.5 on EC2 m1.small instances.
The configuration is:
* Ubuntu 10.10 32-bit, Java -server 1.7u3
* standard liverepeater/edge (origin is an m1.large, performance is not a problem on this machine at the moment)
* live 128kbps mp3 streams
* no custom modules
* Wowza tuning guide followed (VHost.xml below)
I'm using rtmpdump on a third server to slowly build up outgoing connections to the edge. CPU usage on the edge server increases steadily (faster than I would expect to be honest) but increases after about 300 connections. I cannot get past 400 connections without CPU reaching 100% and load average sky-rocketing.
I would expect an m1.small to handle ~1000 outgoing 128kbps streams, taking the bandwidth of the incoming mediacaster streams into account.
How can I address this?
<!-- Separate multiple ports with commas -->
<!-- 80: HTTP, RTMPT -->
<!-- 554: RTSP -->
<!-- suggested settings for video on demand applications -->
<!-- suggest settings for low latency chat and video recording applications
You should not tune a EC2 instance started with one of the
pre-built AMIs from here because they are tuned automatically when the instance is started. I would undo the tuning changes that you made, or start a new instance. It's no problem to add custom HTTPProviders, etc but do not tune.
Lower bitrate streams means you can stream more streams using the same overall bandwidth. Just guessing here, but I imagine more streams means increased overhead in the internal scheduler/resource manager, therefore increased CPU overhead. Also, each stream will have a small buffer, so more streams also means more RAM overhead. And for VOD, more disk I/O.