Dolphin Posted November 27, 2017 Report Share Posted November 27, 2017 Hi, I have a question regarding the number of users that a Kazoo installation can support? How does it scale and are there load tests that illustrate results for particular numbers of users? Thanks so much for your help on this. Link to comment Share on other sites More sharing options...
extremerotary Posted November 28, 2017 Report Share Posted November 28, 2017 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 More sharing options...
Dolphin Posted November 28, 2017 Author Report Share Posted November 28, 2017 Hi, Thanks so much for your reply. I'm interested in supporting 250,000 devices. Please let me know whether you need additional information. -Jon Link to comment Share on other sites More sharing options...
extremerotary Posted November 28, 2017 Report Share Posted November 28, 2017 What kind of usage are you talking? Do your end users have a heavy usage on any single feature, say, like BLF, call park, forwarding, or anything like that? Link to comment Share on other sites More sharing options...
Dolphin Posted November 28, 2017 Author Report Share Posted November 28, 2017 No. Just the ability to make phone calls. That's it. Link to comment Share on other sites More sharing options...
extremerotary Posted November 28, 2017 Report Share Posted November 28, 2017 Apologies, I hit the 'submit' button a bit fast! Out of your 250K, are they all hosted, or are there some behind premise-based PBXs? If some, how many would you say fall into that category? Link to comment Share on other sites More sharing options...
Dolphin Posted November 28, 2017 Author Report Share Posted November 28, 2017 All hosted. There is no PBX. Link to comment Share on other sites More sharing options...
2600Hz Employees mc_ Posted November 28, 2017 2600Hz Employees Report Share Posted November 28, 2017 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 More sharing options...
2600Hz Employees mc_ Posted November 28, 2017 2600Hz Employees Report Share Posted November 28, 2017 Basic SIPp scripting: https://github.com/2600hz/community-scripts/tree/master/sipp And make-busy: https://github.com/2600hz/make-busy Though make-busy is getting an overhaul to be more friendly to test writers! Link to comment Share on other sites More sharing options...
extremerotary Posted November 28, 2017 Report Share Posted November 28, 2017 @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 More sharing options...
Uzair Mahmud Posted November 28, 2017 Report Share Posted November 28, 2017 There are also other things to do like tuning couchdb and rabbitmq parameters past a certain point which can increase performance. Link to comment Share on other sites More sharing options...
amn Posted December 1, 2017 Report Share Posted December 1, 2017 (edited) Also number of cores used I think. Kazoo runs multiple beams (Erlang VMs) corresponding to the different applications and each beam can run on its own core. So Kazoo loves lots of cores. Even if half are hyperthreaded I think it still helps a lot. Edited December 1, 2017 by amn (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts