none
Weird app behaviour (VFP9) under Server 2012 R2 and Hyper-V

    Question

  • I have a customer that uses a big line of business app that is written in Visual FoxPro 9 (VFP9).  The application ran very well in a Server 2008 terminal server VM on top of VMware ESXi 5.1 on a Dell T610 with 15K drives in a RAID10 behind a Dell H700 controller (VM was in the RAID10).

    We have migrated the customer out of the ESXi environment onto Hyper-V on top of Server 2012 R2.  Net-new terminal server built as a Server 2012 R2 VM on top of new Server 2012 R2 host (Dell T620 with 15K drives in a RAID 10 behind Dell H710p controller).  Host was originally built with a Tiered Storage Space that included all of the 15K drives plus dual enterprise SSD's but I have backed that out.  The application vendor migrated the VFP9 application to the new server and did whatever they needed to do to get the app installed.

    The application runs  but it is, to put it mildly, a dog in this environment.  Lookups that took less than a second in the old 2008/ESXi environment can take between 5 and 10 seconds on the new host.  All other applications fly on the new terminal server VM, just the VFP9 app is doggy.  I have tried many things to sort out the problem including running all required VFP maintenance (reindex, repair and pack files) with not much to show for it.  I have rebuilt the underlying RAID10 with differeing stripe sizes, again with no real effect on VFP on way or the other.  I have migrated the VM to other Hyper-V hosts (the T610 has been rebuilt as a 2012 R2 host) and noted similar performance issues.

    The app vendor are useless in helping diagnose the problem.  They say the app runs fine under Server 2012 R2 but they only have it running in a physical environment (and I've not actually seen the app run so I have to take them at their word).  I have had to remind them that the original terminal server was also virtualized and did not have issues.

    I'd be interested in knowing if anyone else has seen similar behaviour in older apps under 2012 R2 an Hyper-V and, specifically, if anyone has seen this issue with VFP apps?  I am willing to try anything at this point including migrating back to ESXi but I'd rather sort out the issue in the current environment.  Any comments, insights or suggestions would be greatly appreciated.

    Robert Dick, Office365 MVP


    Robert Dick Office 365 MVP

    Monday, July 28, 2014 4:32 PM

Answers

  • I discovered the problem is actually related to the Hyper-V VM Generation!  I built the VM as a Gen2 VM, just like all of my other VM's.  Once the performance issue was discovered I tried many things then finally, in a fit of desperation, tried building a Gen1 2012 R2 VM and the stoopid LOB app flew!  I can only surmise there is some kind of weird interaction between VFP9 and something in the underlying Gen2 machikne format bit Lord knows what!

    Thanks for your response, much appreciated.


    Robert Dick Office 365 MVP

    • Marked as answer by Robert Dick Thursday, July 31, 2014 6:34 PM
    Thursday, July 31, 2014 6:34 PM

All replies

  • Question:

    Have you tried installing the app into a new 2012 R2 VM on VMware?

    What I am wondering is if there are tweaks to this old / existing VM (either in the VM or on the hypervisor) that make it perform better.

    Back in the day - I worked with many FoxPro, clipper, etc. applications on Terminal Server.  And I used all kinds of tweaks and tunes to make the app perform.

    I had one app that I identified had a 16-bit print subroutine and that could only support two users on a single terminal server VM.  It was crazy.

    Also, the application (most likely) is internally paging to the OS disk of the VM.  So look very closely at how the VM is configured.

    And, if the database is remote - disable VMQ on the Hyper-V Server, and possibly TCP Task Offloading features in the driver of the VM NIC (in the OS of the VM).


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

    Monday, July 28, 2014 5:09 PM
    Moderator
  • I discovered the problem is actually related to the Hyper-V VM Generation!  I built the VM as a Gen2 VM, just like all of my other VM's.  Once the performance issue was discovered I tried many things then finally, in a fit of desperation, tried building a Gen1 2012 R2 VM and the stoopid LOB app flew!  I can only surmise there is some kind of weird interaction between VFP9 and something in the underlying Gen2 machikne format bit Lord knows what!

    Thanks for your response, much appreciated.


    Robert Dick Office 365 MVP

    • Marked as answer by Robert Dick Thursday, July 31, 2014 6:34 PM
    Thursday, July 31, 2014 6:34 PM
  • The only difference between the two is that Generation 2 VMs have a lack of emulation. 

    I am guessing that there is something in the emulation stack that the application is expecting.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

    Thursday, July 31, 2014 8:10 PM
    Moderator
  • That doesn't make any sense.  Maybe try rebuilding the application from scratch on a new Generation 2 VM, following the same procedure followed to build it on the Generation 1 VM.  If there is a difference, I would open a case with Microsoft.

    . : | : . : | : . tim

    Friday, August 1, 2014 2:53 PM
  • Hi, Tim:

    I know it doesn't make any sense BUT it's the way it is.  I DID try a new Gen2 VM, plus a whole pile of other things, and the VFP app is just a dog (from a disk access point of view as best I can tell) under the Gen2.  One of the SharePoint MVP's in out office told me that he has hit a number of challenges with Gen2 VM's so there may be more afoot than we know of.  On the other hand, all of my other Gen2 VM's in this customer's environment are running well so who knows. 

    We have gone way over budget on time with this particular project so I don't have the "wherewithal" to get Microsoft involved at this point.  If we hit something like this again in the future then I may well get Microsoft involved.  And thanks for your reply, greatly appreciated.


    Robert


    Robert Dick Office 365 MVP

    Friday, August 1, 2014 3:09 PM
  • I'm thinking that it may have something to do with UEFI vs a traditional BIOS.  I've seen some bitching out on the 'Net about some people that have had weirdness in the past with VFP on a physical box booting UEFI.  Why that would be the case is beyond me but VFP is old software with a lot of legacy stuff built in.  It's just weird enough to make sense that it wouldn't like "modern hardware".  I dunno, brain hurts at this point.  Just concentrating on getting the customer working in a Gen1 VM ...


    Robert


    Robert Dick Office 365 MVP

    Friday, August 1, 2014 3:51 PM