For example, a 500 kbps stream consumes the following amount of memory, given the default settings from the guide:
(500/(1024*8)) * 10 * 10 = 6 MB of memory
To calculate the number of connections you can support, you can use this formula:
number of users * stream bitrate + 20% IP overhead = total server bandwidth
With a 1g nic (20% overhead accounted for) = 800mbs throughput, which is 800 1 mbs streams, or 1600 500kbs streams.
You will have to test your actual server/network using the
load test tool, or monitoring utilization in production. You must be
properly tuned. And to achieve maximum levels you may have to tune your server and network in other ways outside Wowza.
HTTP streaming sends chunks to the client. The client needs 3 chunks cached before it starts playing.
By default Wowza is set to send 3, 10 second chunks (
cupertinoPlaylistChunkCount) in each packet sent to the client.
Chunks must start on a key frame. So it is best to use a key frame interval that is factor of the
Try 2 second key frame frequency and cupertinoChunkDurationTarget "2000" (2 seconds)
cupertinoMaxChunkCount is the total number of chunks that are maintained. So as the stream moves a bit further off of live, the player will start to request segments from further in the past. Having a larger list of chunks in reserve will insure this does not lead to a missing chunk error.