Posted by Rob Pungello on March 02, 2016 at 08:14:28:
We are trying to get Comet running on a virtual server on Rackspace, and are having issues with the performance compared to an older, physical server we have here in our office.
For reference, here are the key specs for each server:
Windows Server 2012 R2 x64
2.6GHz Xeon X5-2670 cores (we have 2/8 cores available to us)
RAID 10 SSD-based storage
Windows Server 2003 R2 x86
2.13GHz Core 2 Duo E6405
RAID 5 mechanical storage
We've been using TEST4 to test performance, and our results for 5 iterations of 10,000 records are as follows: our local server takes ~7-8 seconds, while the virtual one on Rackspace takes ~13-14 seconds.
In both cases, the processor usage bumps up to 50-70%.
The throughput of the SSDs on the Rackspace server is considerably higher than the mechanical drives we have here, so a program that simply writes data and re-reads it should be much faster, but instead actually runs almost 50% slower.
We though the issue might be related to latency between the hypervisor Rackspace uses and the backend SAN where the storage is actually located, so we set up a RAM drive on the virtual server to eliminate that, but the results we saw were unchanged within the margin of error. Also, a few years ago we had tried running Comet within a virtual environment here, where the storage was directly attached, and ran into similar issues.
We also considered the possibility that maybe there was an issue with running Comet32 on a 64-bit operating system, but when we ran TEST4 with identical parameters on one of our client's servers (a physical, x64-based one), we saw results that surpassed our local server (I believe in the 4-6 second range).
From what we can tell, there is definitely an issue with Comet and virtual environments, but it's not completely clear what it is. The only thing I can think of, which is hard to test, is that Comet is running an excessive number of CPU instructions that get trapped by the hypervisor, which hurts performance. Unfortunately, I'm not aware of any way of monitoring this (especially without access to the hypervisor).
Has anyone had any experience getting Comet working in a virtual environment? If so, was the performance on par with what you previously had in a physical one?
Post a Followup
Each file can be a maximum of 1MB in length Uploaded files will be purged from the server on a regular basis.