Skip to main content
January 25, 2017
Question

Performance of CF 2016 on Hyper-V

  • January 25, 2017
  • 3 replies
  • 1286 views

I have performance issues when CF 2016 is installed on a Windows Server 2012 virtual machine (Hyper-V).

The performance issue is that the page is loading very slow compared to an installation on a simple Windows 10 computer with i5 CPU.

Comparison (all done with initial CF2016 settings):

- Hyper-V Windows Server 2012 64bit, 16GB RAM, 8 virtual CPUs      loading of a page approx. 5000ms

- Physical Windows Server 2016 64 bit, 128GB RAM, 24 CPUs (I know its not yet supported, but I made a test)          same loading time, approx 5000ms

- Physical Windows 10 64 bit, 8GB RAM, i5 CPU          loading of a page approx 2500ms

From my point of view it's seems there are kind of virtualization issues.

Does anyone know which settings I need to tune to get same/better performance on a virtual server machine as on a simple win10 machine?

Are there any recommendation how to setup the virtual environment?

Note: I always used the same database for the tests, so it is not related to the database / queries.

Many thanks for your support!

BR Adrian

This topic has been closed for replies.

3 replies

January 27, 2017

I know that the application is not perfect (I had to take it over from someone else), so second step for sure will be to optimize.

Currently my problem is the transfer from the old to the new hardware platform, where I see a huge difference between a simple i5 PC which is much faster than the server machines.

I guess it has something to do with the hardware configuration and/or Hyper-V and not with CF settings itself.

I would appreciate if anyone has some hints on where to look at.

Inspiring
January 27, 2017

Does it run a database back end at all?

Moving a database can slow things down until index and statistics have been rebuilt.

You will need to give an idea of what is taking so long. Isolate a small bit of code and see if that takes just as long.

It could be anything in your code or the server, this issue is too broad to say where to look specifically.

January 29, 2017

Yes, I'm using a MySQL database which is located on a dedicated server. All of the mentioned setups above used the same database.

If I check the debug output, all database queries (response time) are OK.

The problem seems to be in the CFCs, they are take a very long time to complete. Also the CPU of the computer is going to 100%, but only on the server machines, on the i5 I don't see this behavior.

James Moberg
Inspiring
January 25, 2017

Have you performed any monitoring to determine what the bottleneck is?  2.5 - 5 seconds seems like a lot.  I've used CF10 on Windows 2012 Hyper-V w/only 8GB allocated to the OS (w/3g heap) and most CF-related response time is under 300ms.

Have you considered used Fusion Reactor (or enabled internal debugging) to determine what may be slowing it down?

WolfShade
Legend
January 25, 2017

What the heck kind of app have you designed that the _fastest_ response is 2.5 seconds???  Are you crunching data for the human genome project on a legacy Oracle db????  (Okay.. that was a bit facetious..)

On a serious note, you indicated that the CF Server 2016 was using initial (ie default) CFAdmin settings.  Perhaps you should have researched what settings need to be modified in order to get optimal performance from CF _before_ testing, so you would get more realistic results.  Putting it on a system (physical or VM) with 128G of ram isn't enough; you probably need to adjust Java heap, and other memory / processing settings to match what you are doing with CF Server.

HTH,

^_^