Sin categoría
Wowza CPU Performance comparative for Live Streaming sites
4The idea of this post is share some technical details about different Wowza servers settings, running into Live Streaming sites.
This 4 years working into multiple projects allow to me recollect stats about performance, currently support more than 100 Wowza Server daily and this list of CPU’s is the common used.
One normal question from my customers are, what server need to buy for my streams?
For this reason into this post I’ll share some metrics and performance graph from multiple servers.
All the server run, with Wowza Media Server 2.2.3 with JDK 1.6.0_XX over Centos 5/6 64 bits.
The list of server for this comparative are: (benchmark from http://www.cpubenchmark.net):
- Intel Xeon X3210 @ 2.13GHz 2,622
- Intel Xeon X3220 @ 2.40GHz 3,046
- Intel Xeon X3430 @ 2.40GHz 3,951
- Intel Xeon X3470 @ 2.93GHz 5,987
- Intel Xeon E5-2620 0 @ 2.00GHz (Not listed into cpubenchmark.net) but is the most powerful server with 6 cores
Methodology of the metric recollections:
- At the moment to take the metrics all the server need to be using 1Gbps during almost 15 minutes (this metrics are based into 30 minutes samples)
- All need to have similar concurrent users connected (the average is 4610 Concurrent Users into this comparative)
We’ll use 5 metric to compare:
- CPU Available (Average)
- JVM Memory Used (Average)
- Server RAM
- Load (Average)
- Connected Users (Average)
Working with Wowza logs
0
Improve logs management and rotation over linux, combining Log4j and LogRotate.
Modify the log4j.properties for using other Appender:
# Access appender log4j.appender.serverAccess=org.apache.log4j.RollingFileAppender log4j.appender.serverAccess.File=${com.wowza.wms.ConfigHome}/logs/wowzamediaserver_access.log log4j.appender.serverAccess.layout=com.wowza.wms.logging.ECLFPatternLayout log4j.appender.serverAccess.layout.Fields=date,time,tz,x-event,x-category,x-severity,x-status,x-ctx,x-comment,x-vhost,x-app,x-appinst,x-duration,s-ip,s-port,s-uri,c-ip,c-proto,c-referrer,c-user-agent,c-client-id,cs-bytes,sc-bytes,x-stream-id,x-spos,cs-stream-bytes,sc-stream-bytes,x-sname,x-sname-query,x-file-name,x-file-ext,x-file-size,x-file-length,x-suri,x-suri-stem,x-suri-query,cs-uri-stem,cs-uri-query log4j.appender.serverAccess.layout.OutputHeader=true log4j.appender.serverAccess.layout.QuoteFields=false log4j.appender.serverAccess.layout.Delimeter=tab
Create the logrotate configuration file into Centos/RedHat the path is:
nano /etc/logrotate.d/wowza
/usr/local/WowzaMediaServer/logs/*.log { rotate 3 size=512M compress copytruncate missingok }
And the last step is you have very big logs files like is my case, and into one day I can have 2 GB of logs or more, move the log rotate for check every hour instead of every day
mv /etc/cron.daily/logrotate /etc/cron.hourly/
Inspired in this post: http://nicerhttpd.blogspot.com/2008/11/logrotate-and-log4j.html
UPDATE:
Other way to work with Wowza logs, can be using external Jar for rotate the logs by Size and Time, this way if you are running into WinOS or don’t like to use LogRotate for this task can have similar functionality
For more details can check the Wowza Forum post: http://www.wowza.com/forums/content.php?263-Logging-How-to-use-TimeAndSizeRollingAppender
How to know what is happening inside Wowza?
5I have seen into the Blog stats than the most common question is How To Monitor Wowza Media Server… for this reason I’ll start to write a series of Posts about this topic.
In this first post I’ll request your help too, let me know what you would like to know about your Wowza Server.
Currently the information I consider useful, is:
- Concurrent Connection (separated by Protocol - HTTP Cupertino / HTTP Silverlight / RTSP / RTMP)
- MemoryHeap (the memory used by the JVM)
- Version (if you have multiple server,it is difficult remember what version you have installed)
- Bandwidth Traffic (by Vhost, Application or ApplicationInstances)
And here the question… What info would you like to know about Wowza?
Please post into the comment what else you would like to know…
Into the next post, I’ll show examples, graphs and other tips to get this information from the Wowza Server, using JMX protocol.
But here I show a snake peak of the information and the Graph you can have.