Cld007 Posted May 6, 2016 Report Share Posted May 6, 2016 Hello, It seems the Vodia software only uses 1 CPU core. Is possible to utilise multi core threading? Many thanks Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 6, 2016 Report Share Posted May 6, 2016 You can run multiple PBX instances on the same server. This way you can make sure no CPU resources are wasted. The setup is a little bit more complex as you will have to explicitly bind the sockets to IP addresses and the startup script will be more complex. Eventually we will be ready with the next generation that can abstract from the CPU, but that will not help you today. Quote Link to comment Share on other sites More sharing options...
Cld007 Posted May 9, 2016 Author Report Share Posted May 9, 2016 Thank you very much for your help on this. Is there any documentation on the setup of the software in this way? Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 10, 2016 Report Share Posted May 10, 2016 I am not aware about documentation. It also depends on the OS. The easiest is probably to get a ticket and let a support person do it for you. Quote Link to comment Share on other sites More sharing options...
Cld007 Posted May 13, 2016 Author Report Share Posted May 13, 2016 Thank you. We do need to setup the PBX in this way as we are currently wasting PBX resources and the almost maxing our CPU on the single core. We are using CentOS and the PBX is in a hosted environment with multiple domains. We can make the changes ourselves but will need some guidance please. - Do you have experience setting up multiple PBX instances that are bound to separate cores before? - Are there any issues that can arise by doing this? - How do you bind the PBX software to a certain IP address? - What changes need to be made in the startup script? And how do you do this please? Thank you very much. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 16, 2016 Report Share Posted May 16, 2016 We have added the setting for the process affinity couple of years ago because of the topic. It is not very straight forward. Of course there are issues; first of all it is still one server and one memory and one hard drive (even when using SSD), it will not scale 100 % linear will the number of processors. But for sure you will get much more out of your server than with just one process on it. You need to bind the HTTP, SIP, LDAP, TFTP sockets to their specific IP addresses. They have all the same syntax, ip:port, e.g. 87.54.23.34:5060. Inbound traffic is relatively simple; outbound can be tricky because the OS really needs to present that IP address when sending out packets, especially UDP. Maybe the routing table needs some tweaking. The RTP port range can in theory overlap between the PBX, but it might make sense to have them separately to reduce the chances of allocation conflicts or also bind them to a specific address. There are several ways to do this with the script. One pragmatic way it to think of each PBX instance as a desperate service, e.g. pbx1, pbx2, pbx3 (each one have its own script in /etc/init.d based on the current startup script) so that they each can be start and stopped separately. Then they can run in separate directories, e.g. /usr/local/pbx1, /usr/local/pbx2 and so on. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.