Howto:A rough estimate of IPVA Performance

From innovaphone wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Applies To

This information applies to

  • IPVA

Keywords ipva system requirements virtual applicance, performance, cycles, calculation, number of clients

More Information

Problem Details

In many projects, the potential performance of an IPVA running on a PC hardware needs to be calculated. Here are some thoughts.

Of course it all depends on what you are doing on the machine. So there is no easy answer to it.

But, if you compare a PC-box to an IP6010, then

  • RAM on the 6010 is .5 Gig, so spend 1GB for an equivalent IPVA (so as to have room for overhead etc.)
  • Flash is not an issue as it is mapped on disk space (which we probably have plenty of)
  • leaving us with CPU. Just assume an IP6010 runs with 800MHz, a standard Quad Core runs on 2.66GHz. Assume it has really 4 independent cores (not just those pseudo-cores), then this amounts to 13 times the cycles of an IP6010

Looking at the available CPU cycles, it looks as if we can run 13 IP6010 on a PC platform. To be a little conservative and to account for overhead that may be caused by running mutliple IPVA on this one box (which may or may not be appropriate, depedning on your scenario), lets estimate the overall performance as 10 times an IP6010. Cross check: 1GB RAM times 10 is 10GB, fits in your PC RAM.

One thing to take into account is that the innovaphone operating system is a single-processor OS. So it will always run on a single CPU. It is thus impossible to utilize 4 cores with a single IPVA.

So here is your limit, if you utilize the full resources that a 6010 would give you, then you may run 10 VMWare instances where each of them does the job of a single IP6010. Or, you can create 4 IPVAs with each 2.5 times the performance of an IP6010.

This of course is a little rough (as we compare Intel CISC and MIPS RISC CPU cycles here, we ignore memory performance, ...). But - given the fact that it is anyway a rough estimate as it really depends on the usage - it is good enough.

Of course, we have left out some parameters, e.g. network performance and bandwidth. Although you may use a PC box which has slightly better Ethernet performance than an IP6010, it will not be significant. Assume even it is 50% better, this is nothing compared to the times 10 factor we have otherwise. So do we have a bandwidth problem? Now, in a normal use-case, Ethernet bandwidth is simply not an issue, as call signalling (that's what a PBX does) is neglect-able from a bandwidth perspective. However, if it comes to media streams, things are different. Assume we have a media stream using G.722 or G.711, both use 64k net bandwidth per direction. This makes for approximately 100k effectively (that is, including protocol overhead) for one direction. Now let us do the maths: an IP6010 has an 100Mb interface (full duplex, so 200Mb for both directions). This is good for 1000 calls. 10 times more makes for 10000 calls. Can we do this? First of all, a PC box will sport a Gigabit interface, so yes, we could. More important: no IP6010 will ever run 1000 parallel media streams (we recommend no more than 72), so the bottom line is: not an issue.

One speciality is the FAX interface. This particular interface takes a good amount of CPU cycles. This is why the number of concurrent FAX calls on a FAX interface is limited. You can find the actual limits in the Recommended number of users supported table. To estimate the CPU cycles you need when running the FAX interface on an IPVA, you can best compare it to the IP1060.

So then, you could ask: is it better to run a single IPVA with huge memory or split it up in several smaller ones? Well, good question! The answer is: hmmm.

There are limits to the sheer number of VMware instances on a single system, but they are changing. So consult your VMware/VSphere documentation. Otherwise, we recommend to base your decision on the usage scenario. If it is beneficial to have multiple PBXs (e.g. cause you are supporting separate customers with distinct numbering plans), then do so. If you merely think you should split up PBXs (e.g. in masters/slaves) cause you needed to do so when using IP6010, then no, you should not do so any more. After all, having 2.5 times the performance of an IP6010, you may support a single PBX with 8.000 registered users on our reference PC, or a master and 3 slaves with a total of 32.000 users. That should suffice for a while. And no, we have not yet seen such an installation in practice...

Finally, if you can run a single huge PBX, can you also run a huge number of small PBXs? Again, this mainly depends on the VMware platform. According to the VMware documentation (this is based on VSphere 4.1), there is a limit of 320 Virtual machines per host. But there are other limits also (such as Virtual CPUs per core etc.). Another approach is to consider that a single PBX should not have less CPU performance available than, say, half of an IP30x. This would amount to 75MHz. On our reference PC (2.66GHz times 4) this would indicate to run no more than 140 IPVAs. This seems to be a reasonable load for VMware.

Releated Articles