Hello all, We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container. Thank you, - Ehsan
Ehsan, While I haven't personally run heavy load FS instances in containers yet (only testing), I can't see a reason this would be a problem. Docker containers are just glorified Linux cgroups, and have virtually zero measurable overhead - especially so if you're not actually using CPU/memory limitations. A couple of things to consider: Given that FS is likely to use a lot of bandwidth, you're probably best off using host networking if possible (avoids significant numbers of iptables rules or userland proxies on older version of docker). This will also help avoid ugliness with getting FS to properly handle the local Docker bridge IP. Local disk I/O *will* be slower in Docker, but how much so largely depends on on which storage driver you use. That said, if you're considering putting FS in Docker I assume you're likely not doing local disk I/O in FS anyway. Hopefully that's helpful. Best, Colin On Sat, Oct 15, 2016 at 1:22 PM Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
You cannot run container in FIFO scheduler. Required bind FS to host network. Sergey сб, 15 окт. 2016 г. в 20:18, Ehsan Minachi <ehsanminachi@gmail.com>:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
As containers use LXC (a form of "jail" or "openvz like") to run a program on the only kernel that is running on the actual hardware ( instead of mimicking a machine and running a kernel ), FreeSWITCH will probably behave well, if it is the only program running on the actual hardware. If on the same hardware other programs (containers) are running, you will have exactly the same drawback than running FS on an hardware machine that is running other programs too: contentions of resources, IRQs, timers, kernel structures, etc (eg, a no-no, under high loads). So, containers are better than virtualization (as in KVM, VMWare, etc), but nothing will beat FS running alone in an actual hardware (containerized or not) for obvious reasons. Test test test, your use case may be particular and uniq. -giovanni On 15 October 2016 at 19:16, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618
Running freeswitch on docker without an issue. Not high load however. ~mitch On Sat, Oct 15, 2016 at 10:31 AM, Giovanni Maruzzelli <gmaruzz@gmail.com> wrote:
As containers use LXC (a form of "jail" or "openvz like") to run a program on the only kernel that is running on the actual hardware ( instead of mimicking a machine and running a kernel ), FreeSWITCH will probably behave well, if it is the only program running on the actual hardware.
If on the same hardware other programs (containers) are running, you will have exactly the same drawback than running FS on an hardware machine that is running other programs too: contentions of resources, IRQs, timers, kernel structures, etc (eg, a no-no, under high loads).
So, containers are better than virtualization (as in KVM, VMWare, etc), but nothing will beat FS running alone in an actual hardware (containerized or not) for obvious reasons.
Test test test, your use case may be particular and uniq.
-giovanni
On 15 October 2016 at 19:16, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sincerely,
Giovanni Maruzzelli Cell : +39-347-2665618
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Thank you all for your responses. We have a highly distributed environment. While Kubernetes manages 80+ micro services across our clusters, we are planning to have dedicated FreeSWITCH hardware. Currently on each server dedicated to FreeSWITCH we're running two instances with dedicated NIC cards. Our plan was indeed to use host only network. We also have a cluster of GlusterFS serving media files and will be attached as a volume to our FreeSWITCH containers. On Sat, Oct 15, 2016 at 10:31 AM, Giovanni Maruzzelli <gmaruzz@gmail.com> wrote:
As containers use LXC (a form of "jail" or "openvz like") to run a program on the only kernel that is running on the actual hardware ( instead of mimicking a machine and running a kernel ), FreeSWITCH will probably behave well, if it is the only program running on the actual hardware.
If on the same hardware other programs (containers) are running, you will have exactly the same drawback than running FS on an hardware machine that is running other programs too: contentions of resources, IRQs, timers, kernel structures, etc (eg, a no-no, under high loads).
So, containers are better than virtualization (as in KVM, VMWare, etc), but nothing will beat FS running alone in an actual hardware (containerized or not) for obvious reasons.
Test test test, your use case may be particular and uniq.
-giovanni
On 15 October 2016 at 19:16, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sincerely,
Giovanni Maruzzelli Cell : +39-347-2665618
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On 15 October 2016 at 20:58, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Thank you all for your responses.
We have a highly distributed environment. While Kubernetes manages 80+ micro services across our clusters, we are planning to have dedicated FreeSWITCH hardware. Currently on each server dedicated to FreeSWITCH we're running two instances with dedicated NIC cards.
Our plan was indeed to use host only network. We also have a cluster of GlusterFS serving media files and will be attached as a volume to our FreeSWITCH containers.
Seems good to me. Please report how it goes. Also, don't put /usr/local/freeswitch/sounds on GlusterFS, GlusterFS is not so good for realtime reading and concatenating many small files (eg: what standard FS IVRs do). GlusterFS can be good for voicemail messages (eg /usr/local/freeswitch/storage). You better keep your smallish audio files (to be concatenated) on local filesystems, keeped in sync. Maybe (not so good) on NFS. GlusterFS is not the best for that. -giovanni
On Sat, Oct 15, 2016 at 10:31 AM, Giovanni Maruzzelli <gmaruzz@gmail.com> wrote:
As containers use LXC (a form of "jail" or "openvz like") to run a program on the only kernel that is running on the actual hardware ( instead of mimicking a machine and running a kernel ), FreeSWITCH will probably behave well, if it is the only program running on the actual hardware.
If on the same hardware other programs (containers) are running, you will have exactly the same drawback than running FS on an hardware machine that is running other programs too: contentions of resources, IRQs, timers, kernel structures, etc (eg, a no-no, under high loads).
So, containers are better than virtualization (as in KVM, VMWare, etc), but nothing will beat FS running alone in an actual hardware (containerized or not) for obvious reasons.
Test test test, your use case may be particular and uniq.
-giovanni
On 15 October 2016 at 19:16, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan ____________________________________________________________ _____________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sincerely,
Giovanni Maruzzelli Cell : +39-347-2665618
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618
On 16 October 2016 at 00:15, Giovanni Maruzzelli <gmaruzz@gmail.com> wrote:
On 15 October 2016 at 20:58, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Thank you all for your responses.
We have a highly distributed environment. While Kubernetes manages 80+ micro services across our clusters, we are planning to have dedicated FreeSWITCH hardware. Currently on each server dedicated to FreeSWITCH we're running two instances with dedicated NIC cards.
Also, obviously, to be sure about quality, run one only instance of FS per actual hardware. And test on your expected actual load and actual call patterns/flows/concurrence/durations. Eg, first test with one instance one hardware, if it works, you can try to cramp two instances together and see how it goes. -giovanni
For testing purposes, I'm running FreeSWITCH within an LXC container (or sometimes even two LXC containers per physical machine) attached directly to a dedicated NIC. I didn't do performance tests, but it works without issues. A couple of years ago when I looked at Docker, it did not allow the container process to take real-time priority, and it resulted in FreeSWITCH process to run in the same best-effort priority as all other processes. I hope it's possible to change now, but I didn't go into details. On Sat, Oct 15, 2016 at 7:16 PM, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
# Workaroud to fix error "ERROR: Failed to set SCHED_FIFO scheduler (Operation not permitted)" # is located at https://github.com/docker/docker/pull/23430 вс, 16 окт. 2016 г. в 5:08, Stanislav Sinyagin <ssinyagin@gmail.com>:
For testing purposes, I'm running FreeSWITCH within an LXC container (or sometimes even two LXC containers per physical machine) attached directly to a dedicated NIC. I didn't do performance tests, but it works without issues.
A couple of years ago when I looked at Docker, it did not allow the container process to take real-time priority, and it resulted in FreeSWITCH process to run in the same best-effort priority as all other processes. I hope it's possible to change now, but I didn't go into details.
On Sat, Oct 15, 2016 at 7:16 PM, Ehsan Minachi <ehsanminachi@gmail.com> wrote:
Hello all,
We’ve containerized our infrastructure. The only piece left is FreeSWITCH which we’re hesitant. Has anyone run FreeSWITCH under high load in a container? Would love to hear if there are any downsides to running FreeSWITCH in a container.
Thank you,
- Ehsan _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (6)
-
Colin Morelli
-
Ehsan Minachi
-
Giovanni Maruzzelli
-
Mitch Capper
-
Sergey Safarov
-
Stanislav Sinyagin