Jump to content

HT, Multithreading, MultiCore, Dual Processor Performance of PBXnSIP


Recommended Posts

Posted

Hi,

 

We are currently testing a server for maximum performance issues...

 

Server SPEC: HP DL380 G4, 2 X single core HT 3.0ghz Xeon CPUs, 3GB ram, 72gb SAS (RAID 0)

 

The problem here is not so much the actual numbers we are getting, but the fact that the server performance seems to be only using cpu 1 thread of a possible 4 ... i.e. we are able to max out a single HT - but the other 3 are virtually idle so we cannot get higher call figures... A simple check in Task Manager shows it very obviously... on a HT system the first thread is idle, the second maxed out, the third (ie.. second processor) and forth (also second processor) is idle... I.e. a 3rd of the processing capacity of the system is idle and does not seem to be possible to get PBXnSIP to use it...

 

I have not had a chance to test PBXnSIP on some DL385 Dual core Athlons so see if the same is evident there, but this is a bit of a concern for us...

 

Any response as to the ability of PBXnSIP to support:

 

Multithreading

Multiprocessing

Multicore

 

??

 

Cheers

 

Lance

Posted

The PBX runs in one process. That means if the host has multiple CPU, the operating system can distribute several processes over the different CPU, but it can not split up the PBX process over CPUs. Practically that means, if you run the PBX on a machine with two CPU, the OS can put other tasks like file system and networking on one CPU and the PBX on the other CPU. Having more CPU will likely not increase the performance of the PBX.

 

Hyperthreading means to me that there is one CPU, but it can physically handle several threads at the same time. Because the PBX uses multithreading, that gives a real performance advantage over a non-hyperthreading CPU. However, there is also a limit. Because the media processing is done in one thread, that thread is in the critical path.

 

I would say, if you want to have a good performance price ratio, go for a hyperthreaded CPU with either a single or two cores. Better spend the money on a high-performance I/O subsystem and double power supply, so that that machine will not cause costs by hardware failures.

 

1 GB RAM should be enough.

 

If you have abundant CPU resources, you can run several PBX on the same host. You can do that either by running them on different ports (maybe using DNS SRV to locate them). Using different IP addresses might be a challenge for the routing subsystem, so I would stay away from that at this point.

 

And I would be careful with virtual machines, IMHO they are not very well tested with real-time requirements such as RTP handling.

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...