Link to home
Start Free TrialLog in
Avatar of epichero22
epichero22Flag for United States of America

asked on

Choppy program performance on Windows Server 2012

Just installed Windows Server 2012.  We have a very small network of four new 8 GB/i3 client machines all running Windows 7 Professional.  We have one simple FoxPro program that users are saying gets hung up and randomly and acts slow.  All computers are on gigabit Ethernet.

I'm not sure if I didn't set up the server correctly or if it's a problem with the rather old software.  We tried disabling the antivirus but to no avail.

Any thoughts on where to start?

Avatar of Bill Bach
Bill Bach
Flag of United States of America image

Foxpro is a client based application, meaning that everything runs on the local workstations and has to pull data across the network. This makes it subject to networking issues.

Because of that, I would start with the network itself. Is the cabling installed correctly? Is it all cat 5e or higher? If the cabling is not up to par, then you can have big issues on the network that you won't easily see. Older cat 5 cabling won't carry the signal properly and must be replaced.

Try installing Wireshark on a workstation and do a simple Data collection while the app is running. Look at the trace data for any network retransmissions or other bad packets. These should be color coded in black for you.

Another good test is to place one workstation next to the server and run a short cat6 cable directly to the switch from each pc, and see if the problems occur. If not, then I would suspect the cable install.

Finally, another good test is to fall back to 100Mb connections on the server and each workstation. If this solves your issue, then cabling is again suspect.
Before you do Bill's test above, check that the network duplex setting is "auto", but make sure of that on the PC and the server, and the switch ports as well.
Good point bringing up duplex!  With 100Mbps, you MUST HAVE the correct duplex setting, because there are two.  USUALLY, Auto duplex setting will work, the equipment will talk to each other, and it will just work. Sometimes, however, it doesn't work, and you may need to manually set the duplex to FULL on each machine (and set to FULL on the switch, if you can, too). If one side is full and the other side is half, you'll have no end of problems!
That's true. Check the speed and the duplex and make sure they match at the switch and the PC. Normally you would use AUTO, but if for some reason you are using something else, make sure it matches at both ends of the cable.

I should clarify as well, no slight against Bill intended by my post. I was just thinking that moving the PC closer to the server as he said probably means you'll use a different port on the switch. That means the network settings may possibly be different.
Avatar of epichero22


Thanks for the feedback.

All computers are on newly-installed Cat 5e and all connected to a 1gig TP-Link 24-port switch.  I tried transferring a 500 MB file between the computers and servers and we were getting 40-50 MBps, so I'd say the connections are very clean.

The server has two NIC ports.  Should I connect both?  Will they automatically load balance?

At this point I'm thinking that the software is the culprit but wanted to double check with you guys.  Are there any Windows settings I should check?
No, DO NOT connect both NIC ports!  You'd need load balancing software on the NIC drivers for this to work, and this only makes troubleshooting that much more difficult.  Even if you have the ability to load balance, keep it to a single port until you get this issue figured out.

Get Wireshark installed on a client machine that is giving you trouble.  Run it and collect all network packets in the background, writing the logs directly out to a file.  (If you need help with this, I can give you a link to a white paper on how to do it.)  Then, run the application, capturing the packets at the same time.  Inside the network trace, you should be able to look for some specific issues:
- Retransmissions
- File level locking causing delays
Look for any places where the "time" column jumps suddenly as you page through the packet list -- this is an indication that there is no network activity, and will either indicate that the client is waiting on the server (meaning that you need a faster server), or that the server is waiting on the client (meaning that you need a faster client).  Note that user input will also cause notable delays, showing a slow client, but it is hard to get a faster user.

Also, look for any places where the time moves slowly while you page through the packet data.  This indicates periods of LOTS of activity.  What type of activity do you see?  (I expect it is all file system activity for FoxPro.)

In any event, Wireshark usually won't tell you what is wrong any more than an xray will show you what is wrong -- you have to know what to look for.  And THAT, is usually the hardest part in all of this.

When the users log into the server via RDP, the program runs fine.  But both the server and the client machines have similar specs: i3 processors, 8 GB RAM.

In the meanwhile, I'll take a look at Wireshark and leave the second NIC port alone.
As a client/server application, ALL data accesses must occur over the network.  This explains why an RDP session is fast -- users are accessing local data in memory, and not needing to go over the wire.  If you have the Terminal Server licenses, that might be your best option.
Lame.  The program worked fine when we were using our 2008 server.  Nothing really different about this installation.
That makes it even easier:  Run the Wireshark capture while you access the 2008 server to do a specific process in the application that runs fast.  Then, run Wireshark again as you do the SAME pr4ocess against the 2012 server.  Now, you should be able to set the Time Reference (in the trace) on the start of the process for both traces, and scroll through them side by side.  Look for where the workload, packets or times deviate.
The thing is that our 2008 server has an older processor - the Xeon X3430 @ 2.4 GHz.  The new server is running a Core i3-6100 @ 3.70 GHz, which scored 58% higher in Passmarks.  Unless there's something I'm missing, it doesn't make sense that the software is somehow running slower.  I think that the software itself is written poorly.
Clearly, the FoxPro software hasn't changed, either.  If the ONLY change was the new server and OS, then this MUST BE where the issue lies.  

Also, the Passmark benchmark doesn't really do you much good unless your primary application is called Passmark.  The only useful benchmark is your own application environment load.  All other benchmarks are simply placeholders for more advanced workloads, designed to make comparing hardware a bit easier.  

One other thought -- have you verified that you are running full speed?  Download CPU_Z and run that on the server (and you may as well check the workstations, too).  Check to make sure that the rated CPU clock speed matches your actual CPU clock speed.  If not, then your CPU may be stuck in a lower C state.  Fixing this can sometimes provide a substantial performance gain.
Was the previous server 2008 or 2008 R2? If 2008 it is possible the server was 32-bit. Perhaps the program doesn't run well in a 64-bit environment. However, that will come out in your testing.

The server was an R2 64-bit server.  I'm also asking because I want to be sure the server was set up correctly.
Hi Epic,

Any progress on this? I see you have been on, so if you can let us know if you have any progress, or should we delete the question?
No progress at this point as I've been too busy to bother the software's tech support team.  You can go ahead and delete it if you'd like, or leave it open and I'll post an update if I get one.  

Sorry for the inconvenience.
No I think it is a question that is worth answering here. I'm fine with waiting, but the question may get auto closed. We'll see how it goes.
OK, I reinstalled the application and this time pointed the shortcut to a mapped drive instead of a UNC and it seems to be working better.  I'll get back to this as I test it more, but given the circumstances, does it make sense for a FoxPro application to work better with it?
Avatar of Brian B
Brian B
Flag of Canada image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the recommendation.