Jump to content
KAZOOcon: hackathon signup and details here! ×

Scalability of Kazoo - Number of Users Supported


Recommended Posts

Hey @Dolphin

Your question is a bit loaded :-)

Users alone have no real issue in Kazoo. I think you're asking about devices. How many are you looking to support? We have quite a few ourselves. Are you asking about a multi-zone deployment, a single server, something hosted by 2600, or something unique? These devices, are you thinking of devices that register, or devices that are forwards like a cell phone? Any idea of the number or ratio of each?

There are various test tools that 2600 uses to load test each build that's produced. I'm unclear if the data is published anywhere, i'd defer to @Darren Schreiber to better attack that question. Load tests are created in the 'Make Busy' framework (opensource and available on github). In my experience, there are a few ceilings per zone, but since it's easy enough to create a new zone, the scaling is almost infinite. If you're looking to scale your products out of, say, an Asterisk-based platform to something more enterprise-level, Kazoo has what you need, and they're a great organization to support your growth. They've been putting up with me for almost four years now!

Link to comment
Share on other sites

  • 2600Hz Employees

To add more, will your devices be doing HD audio? Video? Lots of transcoding between WebRTC (using OPUS) and PSTN (using PCMU)? Conferencing? If so, how many participants? Support for SIP over TCP/TLS/VPN/etc (basically non-UDP)? SRTP? Fax? Expected CPS and concurrent calls? Lots of presence/BLF/other features?

As mentioned, you can create more zones to isolate load based on geography (typically). You can throw bigger hardware at the problem. You can buy bigger and bigger pipes. You can host and get cross-connects in the same data-centers with your upstream providers. But there's no magic formula for inputting X devices and getting Y infrastructure costs. There are best practices that get you pretty far but eventually something will crack and you'll need good monitoring to detect those cracks.

So, yes, Kazoo can be (and is) deployed to support 250K+ devices. As you grow, different parts of the infrastructure will fall down and need improvement, and where those spots are tend to be unique values for each installation (esp since usage patterns tend to vary greatly).

We can be your partner in that journey to 250K and anticipate a lot of the growing pains :)

Link to comment
Share on other sites

@mc_  - you beat me to it!

Based on conversations I've had about our own scalability, Kamailio servers support between 25-50K devices per box. This number varies based on BLF subscriptions and SIP timers such as keep-alive OPTION messages, REGISTERs, and general call volume. Kamailio is cluster-able, so with the use of SRV records, you can spread the devices out across many servers. I suggest doing N+1 to ensure that if a single server or zone goes down, the remaining infrastructure can take on the rest of the load. 

FreeSWITCH scaling is more reliant on usage data in calls per second, and whether certain features are turned on like video, encryption, etc.

I'm not sure I agree with James on the 'lots' of growing pains, but as mentioned, in every deployment there are different use-cases and potential ceilings that have never been hit before. The one thing I can say is that 2600 has addressed every issue we're ever had with scaling very professionally and prioritized based on any customer impact.

Link to comment
Share on other sites

  • Create New...