Results 1 to 5 of 5

Thread: Questions Regarding Dynamic Load Balancing Add-on

  1. #1
    Join Date
    Dec 2011
    Posts
    5

    Question Questions Regarding Dynamic Load Balancing Add-on

    Hello, I have a few questions regarding the Load Balancing add-on. First and foremost, can anyone confirm that this add-on works with WMS 3.6.2?

    Second question, do I need a total of 3 servers in order to utilize this add-on, or is it possible to have the "edge" server on the same machine as one of the listeners?

    If I do in fact need a minimum of 3 servers in order to utilize the load balancing add-on, does the "Edge" server require a full license as well, or can I run it from a 'preview' or 'trial' install?

    Next, assuming the "Edge" server needs to be on its own machine, what type of specs should this machine have? Can it be a low end server, or should it match the same specs as the listeners?

    Does all bandwidth get tunneled through the "Edge" server (creating a potential bottleneck), or does it [truly] redirect to the listeners?

    I should probably also mention that the questions above are specifically for vod applications only.

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Yes, this works in current and future versions of Wowza.

    You can put the Load Balancer Listener on any machine, it can be on an edge.

    You can have many edge servers, there is no specific requirement for each one.

    Clients connect to an edge to stream, so bandwidth usage for playback is incurred between edge and client.

    For video on demand use MediaCache along with the load balancer.

    Richard

  3. #3
    Join Date
    Jun 2012
    Posts
    723

    Default

    Hi,

    The LoadBalance addon package should work with Wowza 3.6.2. Also, it should also work with the Trial license.
    In order to have a loadbalanced setup, you would need a minimum of 2 servers. You can run the loadbalancing package on one of them, and you can configure both servers to be part of the server pool.
    As described on the Wowza web page, minimum server specifications should be:
    CPU: Single Quad Core, 3.00 GHz or better
    RAM: 4GB
    Disk: 2 or more in RAID 0 (striping)
    Network: 1Gb Ethernet

    It is recommended that all the servers from the loadbalance server pool have same or similar hardware specs. The LoadBalance package does not monitor resource consumption on each server (hardware nor bandwidth). It only evenly distributes the streaming connections across all servers. If one of the servers has lower hardware specs, when it reaches maximum resource consumption, it is very possible to still receive connection requests because other servers in the pool have the same amount of connections and are still able to handle streaming requests.

    Regards,
    Zoran

  4. #4
    Join Date
    Dec 2011
    Posts
    5

    Default

    Quote Originally Posted by rrlanham View Post
    Yes, this works in current and future versions of Wowza.

    You can put the Load Balancer Listener on any machine, it can be on an edge.

    You can have many edge servers, there is no specific requirement for each one.

    Clients connect to an edge to stream, so bandwidth usage for playback is incurred between edge and client.

    For video on demand use MediaCache along with the load balancer.

    Richard
    Hello,

    Thanks for taking the time to explain some things. Right off the bat, I was backwards in my initial questions as I was referring to the "Edge" server as if it were handling the load balancing across multiple "listener" servers.

    So as a correction to what I meant above, is it possible to run the "load balancer" on the same server as one of the "Edge" servers? I think the answer is still yes, but I'd like to make sure.

    Also, in regards to bandwidth usage, instead of asking you to elaborate since I was incorrect in terminology usage in my initial post, is the following breakdown correct?

    Server A - "Load Balancer" - Balances between Server A and Server B.
    Server A - "Edge" - when a client is "redirected" to this server (which is on the same machine as the load balancer itself so not actually redirected), the client connects directly to this server and thus streams directly from this servers NIC/network.
    Server B - "Edge" - when a client is redirected to this server, the client connects directly to this server and thus streams directly from this servers NIC/network.

    Basically, what I don't want or need is for the load balancing add-on to function in similar fashion to something like HAproxy where all requests are sent/received from the "load balancer" and merely tunneled through the "load balancer" to the "edge" servers thus creating a network bottleneck on the "load balancer".


    In regards to using the MediaCache add-on in conjunction with the load balancing add-on, would I need a separate server/location for the web server housing the media content? I assume the answer to that is yes for merely the same reasons as outlined above in regards to network bottlenecks.

    Also, when using MediaCache, how is this caching handled exactly? Are requests pulled from the web server then cached in ram on the wowza server? And, how is bandwidth utilized when using this add-on? Is the connection to the web server tunneled through the wowza server and thus the stream is served directly from the wowza server; or does the client connect directly to the web server, and thus the stream is served directly from the web server?

    Lastly, which is probably the most important question which I failed to ask in my initial post, does this load balancing add-on work with all streaming protocols? We're currently using 2 different methods of streaming depending on the client, which are:
    http://domain.com:1935/vod/_definst_.../playlist.m3u8 and rtmp://domain.com/vod/_definst_/mp4/file.mp4
    We use both of the above methods with flowplayer which first tries to serve up the stream via flash and rtmp with failover to html5 and the http format, for non-flash devices which support it.

    Quote Originally Posted by zoran_u View Post
    Hi,

    The LoadBalance addon package should work with Wowza 3.6.2. Also, it should also work with the Trial license.
    In order to have a loadbalanced setup, you would need a minimum of 2 servers. You can run the loadbalancing package on one of them, and you can configure both servers to be part of the server pool.
    As described on the Wowza web page, minimum server specifications should be:
    CPU: Single Quad Core, 3.00 GHz or better
    RAM: 4GB
    Disk: 2 or more in RAID 0 (striping)
    Network: 1Gb Ethernet

    It is recommended that all the servers from the loadbalance server pool have same or similar hardware specs. The LoadBalance package does not monitor resource consumption on each server (hardware nor bandwidth). It only evenly distributes the streaming connections across all servers. If one of the servers has lower hardware specs, when it reaches maximum resource consumption, it is very possible to still receive connection requests because other servers in the pool have the same amount of connections and are still able to handle streaming requests.

    Regards,
    Zoran
    Our current wowza server has the following specs:
    Dual Quad Core Xeon E5620 @ 2.40GHz - 8 total physical cores, 16 virtual
    96GB RAM
    4x 1TB 7200rpm drives in hardware RAID 10 via 3ware
    1GB ethernet

    So I honestly have to question at this stage whether I truly need to add another server and load balance across them. Here's what I do know:
    On the high end average, we have anywhere between 50-300 concurrent connections at any given time.
    The files being streamed are anywhere between 500MB to 1+GB in size, rarely ever going above 1.5GB.
    We serve 2 different formats, a 1200kbps bitrate and 2300kbps bitrate for each file.
    As of right now, our RAM usage is at 97%, 90% of which is cached.
    Our actual disk reads are relatively low, writes are even lower. I haven't been monitoring this stat closely so I can't provide hard values.
    Our daily stats from yesterday as reported by WMSPanel are:
    3196 total connections - 1592 via HLS, 1597 via rtmp and 7 via rtsp (which I need to check on because I thought i removed this protocol from all of our sites)
    185GB total outbound data
    60.2Mbps peak bandwidth usage

    The reason I've started down this path of using the load balancing add-on is because over the past few weeks we've had an increasing number of complaints in regards to long initial buffer times, constant buffering during playback and the like. I've tuned wowza based on the guidelines and some basic math which seems to be pretty optimal, although I'm still learning the ins and outs of wowza so I can't really say for certain. What I can say with no real level of certainty though is that it doesn't seem to me like this server is being "maxed out", given my extensive knowledge in web/database server side of things, which I know isn't the same thing so I could very well be wrong.

    Nonetheless, any server that I add now or in the future to a load balanced configuration will be an exact duplicate of the original wowza server specs above.

    Thanks again to both of you for your time and input. Both are greatly appreciated.
    Last edited by c.lanlgey; 09-18-2013 at 05:14 AM.

  5. #5
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi,
    So as a correction to what I meant above, is it possible to run the "load balancer" on the same server as one of the "Edge" servers? I think the answer is still yes, but I'd like to make sure.
    Yes, that's correct.

    Server A - "Load Balancer" - Balances between Server A and Server B.
    Server A - "Edge" - when a client is "redirected" to this server (which is on the same machine as the load balancer itself so not actually redirected), the client connects directly to this server and thus streams directly from this servers NIC/network.
    Server B - "Edge" - when a client is redirected to this server, the client connects directly to this server and thus streams directly from this servers NIC/network.
    This is how the Wowza load banalcer works, this is redirect load balancing which means not all bandwidth goes through one location.

    In regards to using the MediaCache add-on in conjunction with the load balancing add-on, would I need a separate server/location for the web server housing the media content? I assume the answer to that is yes for merely the same reasons as outlined above in regards to network bottlenecks.
    The MediaCache functionality allows a file store that each edge server will connect to get the content (unless already cached) when a new file is requested by the edge the file will also be cached for a specific amount of time.
    When a piece of content is now viewed for a set period the file will be removed from the cache allowing space of other more popular content to be cached.

    The traffic from the edge servers to the file store shouldn't be heavy as the content is only requested once and then cached for all other connections wanting this content it will already be available.

    Lastly, which is probably the most important question which I failed to ask in my initial post, does this load balancing add-on work with all streaming protocols? We're currently using 2 different methods of streaming depending on the client, which are:
    http://domain.com:1935/vod/_definst_.../playlist.m3u8 and rtmp://domain.com/vod/_definst_/mp4/file.mp4
    We use both of the above methods with flowplayer which first tries to serve up the stream via flash and rtmp with failover to html5 and the http format, for non-flash devices which support it.
    In the README.html in the loadbalancer download you will see the following:
    Get least loaded server using http

    One of the methods to get the least loaded server from the load balancer is to make a request to the load balancer over http. The url for this request is:


    http://[load-balancer-ip-address]:1935/loadbalancer

    Where [load-balancer-ip-address] is the ip address or domain name of the load balancer. This request will return the ip address of the least loaded server in the form "redirect=[ip-address]". The Flash example client/httpgetredirect.fla includes the ActionScript 3.0 code needed to make this request and parse the response. You can also test the load balancer by entering this url into a web browser.

    You would need to write some code to display this as a link on your website for HTTP clients to connect to.

    Jason

Similar Threads

  1. Testing Load Balancing Add On
    By deepak2113 in forum General Forum
    Replies: 3
    Last Post: 04-09-2014, 04:57 PM
  2. dynamic load balancing questions
    By confusedUser in forum Wowza Media Server 3 for Amazon EC2 Discussion
    Replies: 4
    Last Post: 03-06-2012, 08:54 PM
  3. Dynamic Load Balancing for VOD
    By nick_g in forum AddOn: Other AddOns
    Replies: 1
    Last Post: 01-04-2012, 07:50 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •