Below are some general recommendations to help guide you toward scaling your streaming needs. Ultimately, you will need to test the performace of your hardware and bandwidth to ensure the capability of handling that capacity.
Ideally, hardware for a production Wowza Server is a dedicated quad core server with newer model Xeon chips, 4 - 8 gigs of RAM, and at least 1 gigabit ethernet network interface connector (NIC). On the software side, you will need to deploy a 64-bit operating system, 64-bit Java, and set the Java heap set to 3000 MBytes or higher.
From our customer's tests, with live Flash streams (1-to-many), the best performance so far has been seen from the newest generation of servers powered by Intel (Nehalem or later processor family) with built-in 10 Gbit Ethernet ports. Specifically, in lab testing, the Sun x4270 and the HP Proliant G6 (and HP c7000) have shown performance up to saturating a 10 GbE connection after careful performance tuning by operating system experts.
- remember, you'll need a 64- bit operating system to use as much RAM as we recommend- For older generation dual core Xeon servers, we have posted our benchmark results in our FAQ
- one Gb Ethernet NIC yields approx 800 Mbits/sec total bandwidth
- 800 Mb/s represents the one connection on your network interface card operating at saturation
- With multiple network connections, you'll also want to use the OS's functions for bonding the GbE NICs together
- For the generation of quad-core Intel Xeon processors immediately prior to the Nehalem family (ie: pre-2009 chips), we estimate that one quad-core processor can saturate only one single 1 Gbit/sec connection.
If on-demand playback of many different pre-recorded files becomes important, please plan a multi-tier storage architecture which might even require SSD devices. Also ask me about our MediaCache software caching technology to reduce the load on your primary file server. Note that the benchmark in our FAQ has some baseline VOD performance numbers for your reference. Also, tests by Sun Microsystems showed that a caching technology like their ZFS improves VOD performance dramatically.
- If you plan to re-stream more than 100 different live inputs on a standard dedicated server, please make plans to conduct your own performance tests (see below). Amazon's EC2 server instances may not reach this level of performance.
- We have no data at this time describing the performance for the nDVR. It will be disk I/O limited so please plan to make adequate tests.
- If you plan to attempt to reach more than 5 Gbps output from a single server, note that a single Java JVM appears to be limited to no more than 5 Gbps. You will probably therefore need to start up two copies of our software to go past 5 Gbps -- and this has billing/licensing implications.
- For video chat (1-to-1 interactive conversations), you will always need to carefully test as your own front end code can change the performance. A plan for regular, ongoing performance optimization projects is strongly encouraged if the size of your community will be growing over time.
- Our customers have found that the Amazon's EC2 servers reach bandwidth limitations far before any other considerations. The guidelines we recommend are:
- Small server max is 150 Mbit/sec (approximately 300 concurrent streams at 500 kb/s)
- Large server max is 225 Mbit/sec (approx. 450 streams at 500 kb/s)
- X-large server max is 350 Mbit/sec (approx. 700 streams at 500 kb/s)
- Video recording for archives or nDVR usage will require you to run your own benchmarks.