# Load Balancing Issues

**URL:** <https://community.wowza.com/t/load-balancing-issues/45009>\
**Category:** Wowza Streaming Engine\
**Created:** [March 30, 2015, 4:59pm UTC](https://community.wowza.com/t/load-balancing-issues/45009 "2015-03-30T16:59:55Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Christopher\_Heinlein](https://avatars.discourse-cdn.com/v4/letter/c/7ab992/32.png) [@Christopher\_Heinlein](https://community.wowza.com/u/Christopher_Heinlein)\
**Post date:** [March 30, 2015, 4:59pm UTC](https://community.wowza.com/t/load-balancing-issues/45009/1 "2015-03-30T16:59:55Z")

</div>

I have been attempting to setup load balancing for my vod application but thus far have had near nil success.

I am attempting to set things up using a total of 3 dedicated servers.

ServerA = Load Balancer

Server1 = Load Balanced Client 1

Server2 = Load Balanced Client 2

Wowza version: 4.1.2 (all servers)

Load Balancer add-on version: 4.0 Build 14116 (all servers)

ServerA OS: Ubuntu 12.04.5 LTS x86\_64

Server1|2 OS: Debian Wheezy x86\_64

I have gone through the documentation included in both the README.html and pdf included in the LoadBalancer4.0 zip.

So far, I have been able to accomplish the following:

```auto
http://[ServerA-IP-ADDRESS]:1935/loadbalancerInfo -- lists both Clients.

```

What doesn’t work:

```auto
http://[ServerA-IP-ADDRESS]:1935/loadbalancer -- shows "Wowza Streaming Engine 4 Monthly Edition 4.1.2 build13947"
Attempting to play a combination of files (see below for urls I have tried) via different protocols, none of them play.

```

```auto
non working smil url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 2: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 3: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 3: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/smil:sample.smil/jwplayer.smil?scheme=smil

```

```auto
Working direct example url: http://[Server1|2-IP-ADDRESS]:1935/vod/_definst_/subfolder/smil:sample.smil/jwplayer.smil

```

NOTE: The sample.smil file exists on the server and is not auto generated or anything. We create them during the encoding process. jwplayer.smil does not exist on the server and is generated by wowza.

ServerA error log for smil attempt:

```auto
WARN	server	comment	2015-03-30	02:17:19	-	-	-	-	-	82.546	-	-	-	-	-	-	-	_definst_/subfolder/sample.smil	open: java.io.FileNotFoundException: /usr/local/WowzaStreamingEngine/content/_definst_/subfolder/sample.smil (No such file or directory)

```

There are no log entires on either Server1 or Server2 for this attempt

```auto
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/smil:sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/smil:sample.smil?scheme=m3u8

```

```auto
working direct example url: http://[Server1|2-IP-ADDRESS]:1935/vod/_definst_/subfolder/smil:sample.smil/playlist.m3u8

```

ServerA error log for m3u8:

```auto
WARN	server	comment	2015-03-30	02:45:28	-	-	-	-	-	62.793	-	-	-	-	-	-	-	-	HTTPStreamerAdapterCupertinoStreamer.onPlaylist: Application context not loaded [redirect/vod/_definst_/subfolder/sample.smil/playlist.m3u8?scheme=m3u8]: redirect/vod
ERROR	server	comment	2015-03-30	02:45:28	-	-	-	-	-	62.795	-	-	-	-	-	-	-	-	HTTPStreamerAdapterCupertinoStreamer.service : java.lang.NullPointerException|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.onPlaylist(HTTPStreamerAdapterCupertinoStreamer.java:2189)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.serviceMsg(HTTPStreamerAdapterCupertinoStreamer.java:477)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.service(HTTPStreamerAdapterCupertinoStreamer.java:432)|at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:636)|at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:375)|

```

Server1 error log for m3u8:

```auto
ERROR	server	comment	2015-03-30	02:44:24	-	-	-	-	-	887.322	-	-	-	-	-	-	-	-	LB XMLParser: xmlParse() Error accessing 'http://[ServerA-IP-ADDRESS]:1935/loadbalancerInterface?command=AAAApU3w7E6F1Ggfvg4KNW6ly1MnGeJIvgQNUHVteAOd1Ffvmcyogi7tnZ9vswhYK6j2j5nMqIIu%250A7Z2fh8E7uGdRwq9cBX24PjhzWzjRSa9tUwVPH8vFFJAz%252FEuZXZcCvrmA1ycZ4ki%252BBA1Qaf3pHCy7%250A7Owyf7gp9VWN7PV3nN%252BLJZkQjhsNLYKSnVqnu2YDAxwt4KxEYmDq9iM%252Bf0wEkcwd3SUY3C25Nyjo%250A2A%253D%253D': java.net.ConnectException: Connection refused|at java.net.PlainSocketImpl.socketConnect(Native Method)|at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)|at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)|at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)|at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)|
ERROR	server	comment	2015-03-30	02:44:24	-	-	-	-	-	887.323	-	-	-	-	-	-	-	-	LB XMLParser: xmlParse() Error accessing 'http://[ServerA-IP-ADDRESS]:1935/loadbalancerInterface?command=AAAAok3w7E6F1Ggf3GvlvNz%252BIwfv8hU6u82ZJ5r6gbWjfC6AsY7eh0aafoy%252BMsY78OyWybGO3odG%250Amn6MGh08x8Wv0Vgeu1hblj7kXITDEEbQwfMGLCniE%252F8RHEGrzoweY4W9Scv5Rs8fzhlwts7kqdcT%250A9f%252Bm8YsYV%252BfoFU7vE%252Fu0miQZGD%252Bbv%252FYpnkDruqk%252B%252Bgi0r%252F8c4IJGOZt4UMGawX6US31h0cfOIELa%250Agg%253D%253D': java.net.ConnectException: Connection refused|at java.net.PlainSocketImpl.socketConnect(Native Method)|at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)|at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)|at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)|at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)|

```

I have also tried to just link to an mp4 file directly to no avail.

As stated previously, I have read both the readme.html and documention pdf from top to bottom, 3 times over, and am still stuck getting this to work properly.

I guess my initial questions are:

Does the actual content I am attempting to stream have to exist on ServerA as well as on Server1 & Server2?

Does the load balancing add-on support smil files?

Does the add-on support using subfolders as shown in my working direct url examples?

Are there other things I need to do that aren’t covered in either form of documentation? This page [https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon](https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon) mentions “ServerListenerLoadBalancerServer”, which isn’t located in the docs anywhere.

I’m not sure if posting my configs is necessary or not as they simply contain the default data when wowza is installed as well as the load balancer add-on data as per the documentation. I can post them upon request though.

---

<div class="post-metadata">

**Author:** ![Christopher\_Heinlein](https://avatars.discourse-cdn.com/v4/letter/c/7ab992/32.png) [@Christopher\_Heinlein](https://community.wowza.com/u/Christopher_Heinlein)\
**Post date:** [March 30, 2015, 8:51pm UTC](https://community.wowza.com/t/load-balancing-issues/45009/2 "2015-03-30T20:51:53Z")

</div>

Ok, to update, I’ve figured most of everything out, but I’m still running into one issue.

Is it possible to use subfolders inside the application content folder when using the load balancer add-on?

Also, is it possible to specify the widths like you would in an smil file so that jwplayer shows “1080p, 720p, 480p and 360p” as opposed to the bitrate numbers? I’ve tried the flag “widths=1920,1280,854,640” but that has no effect.

This works as it should:

```auto
http://[load-balancer-ip]:1935/redirect/vod/loadbalancer.smil?assets=sample_480p.mp4,sample_360p.mp4&bitrates=691200,359424

```

But this does not work:

```auto
http://[load-balancer-ip]:1935/redirect/vod/_definst_/subfolder/loadbalancer.smil?assets=sample_480p.mp4,sample_360p.mp4&bitrates=691200,359424

```

For reference, my content is located in /home/user/content, and with the non working url, it is completely ignoring the “_definst_/subfolder/” portion and still trying to serve the files from /home/user/content/sample\_360p|480p.mp4 instead of /home/user/content/subfolder/sample\_480p|360p.mp4

It’s rather necessary for me to sort each “scene” by subfolder because as of right now, we have approximately 1900 “scenes” (and growing) containing 4 bitrate versions, an smil file and vtt file for each (roughly 11,400 total files at the moment), so dumping all of that into a single directory is going to be problematic for us.
