Speed issue on SBS 2008 network for certain EXE.

Hi there,

We migrated a client from SBS2003 to SBS2008 a couple of years ago, they have just now come to us saying that since the server was installed thier custom built Hire program runs very slowly on the PC's, each PC has a mapped drive to the EXE which sits on the server drive, they run it at the PC and it takes about 8 seconds to open the dB on the server.

They have fault found the network, the PC's and the Server to hell and back and can't work out whats causing the problem.
They can transfer larges files very very fast from server to client, they can open the Hire dB in excel on the client very fast.
They have removed all antivirus with no results.

Appears that SBS2008 is slowing the transfer of data down when the EXE is opened from the network.

All clients are XP Pro 32bit and all worked very fast on old SBS2003 32bit.
Only change was to SBS2008 64bit and a new Dell T310 server with H700 Raid ctrl.
The hardware seems to perform very well for all other tasks.

Any ideas of what to try next?


Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Well, first run perfmon and see where the bottleneck and nature of the i/O is (run this on individual machines).  

Then contact the person/company that wrote the software.   My guess, based on the info you supplied is that temp files are used, and those temp files are going on the server, instead of each local machine.

Any DB with this type of app could easily generate hundreds of I/Os per second, and the last thing you want to do is use an executable that runs in local memory that pounds index & scratch files that are remote.   Maybe there was a config setting that was lost in the conversion?

But too many things to look at, so you are just going to have to do some homework.  perfmon will reveal network & disk I/O activities from big picture.  The people that wrote the software will certainly know if you need to set an environment variable or something to get it to work properly.

Outside of that, you might try filemon (written by sysinternals, who is now MSFT).  This is great utility where you can give it a file, or application and it measures individual I/Os and you can see what is going on.

Once you understand what the application is doing, then you can make adjustments so that whatever it is doing, will run a lot faster.
Rob WilliamsCommented:
Chances are the new server has more RAM and faster drives, so I would suspect network related issues.  There are some known issues with newer advanced NIC properties with server 2008/2008 R2 such as "Task Offloading", and “Receive-Side Scaling” which can drastically affect performance and stability of file share access if enabled and especially if you are running older drivers. The following outline is for changing from the command line but I have found in some cases you have to do so within the advanced NIC properties for them to take effect. Any of these changes require a reboot to be applied.

To disable Receive-Side Scaling, at a command prompt, with elevated privileges, run the the following command:
netsh int tcp set global rss=disabled

To disable Task Offload, at a command prompt, with elevated privileges, run the the following command:
netsh int ip set global taskoffload=disabled

To disable Add-On Congestion Control Provider, at a command prompt, with elevated privileges, run the the following command:
netsh int tcp set global congestion=none

For more information Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008

Related blog articles:
TingathewingaAuthor Commented:
Thanks Rob, those three changes have increased the speed by about 25%, but still slower than before, any other tweaks you can think ok?
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

Rob WilliamsCommented:
Have you run the SBS Best Practices Analyzer?  It will check for several network issues and advise if any need to be changed.  Make sure you click on "check for rupdates" when running the BPA>

There is a TDI driver issue, as per the following link, that is nown to cause lockups but also perfomance issue.  It should be fixed if SP2 is installed:

Make sure the PC's point ONLY to the SBS for DNS, i.e. make sure they do not point to an ISP or router even as an alternate.

Though it has more to do with browsing make sure there are no disconnected mapped drives still present.
How are the users "mapping" to the executable on the server? Are they getting a mapped drive through GP? Is it a direct linked shortcut on their PC?
TingathewingaAuthor Commented:
Hi Geodash,

They all have a mapped drive where the EXE resides on the server. Login Script, not GPO.
Remember that this worked perfectly on SBS2003 so if we say that was 100% then now after making changes that Robwill suggested its gone from 25% to around 40% of what it used to be. The only thing that has changed is that the mapped drive (and EXE) now sit on server 2008 on a Dell server with a broadcom NIC.
So my feeling is that is a network issue along the lines of what Rob was getting at.


Well the "only" difference is that it is on a different machine can be quite a bit.  I doubt it is CPU offloading, but could be something simple like it was previously configured to use jumbo frames, and now it is not.

(Or maybe vice-versa, it wasn't using a large MTU before, but now it is, but your networking is substandard so you are dropping so much data that overall transfer is suffering).

Does your switch support RMON?  If so, you ask the switch itself about dropped frames, retries, MTU size, throughput, and such stuff and then you take out the guesswork.  If you have dumber switches, then you can still run some software on the server and measure it there.  

Have you actually verified that this really is nothing more than delay associated with loading an EXE?  I've written a heck of a lot of code and analyzed performance from the disk I/O side and things are not always what they seem to be.  It is common practice to build scratch info based on the current working directory.

Have you contacted the vendor of the software yet to see what they say?   If this is not possible, then why not try placing the app on a read-only device or changing permissions to prevent write access.  If you get write error messages, then you have 100% proof that more is going on then just loading an application.

If you invest the effort to run code that tells you exactly what is going on, then you WILL discover root cause rather easily.  But just tuning things by trial and error and looking for "it-might-be" ideas isn't the way to go.

With intelligent switches, packet sniffing, and host-based utilities (all free) that can tell you exactly how any program utilizes system resources then this type of problem shouldn't take more then 30 minutes to resolve.  

But you have to make the effort to diagnose the illness first.
TingathewingaAuthor Commented:
Hi dlethe,

Thanks for you comments, unfortunately the client in this case does not want to pay for my time to install and run wireshark and perfmon and a host of other tools to nail down this issue, he just wants me to fix it as I installed the server way back at the start :)

Also the client in this case did write the software himself, using a foxpro dB and written in Visual Objects V2.7. I have asked him to triple check his software but he is adament the problem is to do with the networking on the server.

This post was really a last ditch attempt to try some Server 2008 specific fixes that I wasn't aware of and see if that changed things, but ultimately the client will have to spend some money and let us get out there for some real testing, so yes, I agree.
Understood Tingathewinga ... this does change things.  

But you added something that is important .. FoxPro.  I remember there are some ODBC settings that deal with packet sizes, and the defaults are more in tune with ancient 10/100 ethernet instead of 1Gbit ethernet, so performance is going to be inherently choppy and slow unless you increase the settings related to ODBC.  

You could very well be hitting ceiling  trying to minimize the time it takes to send a chunk of data, and getting killed with latency, record locking timers, and all that overhead it takes to set up a transaction set.
TingathewingaAuthor Commented:
The client solved this himself by reprogramming his application in the area of the exe and how it cached the foxpro db on the server, still not sure myself why it was so bad on server 2008 over 2003, but this question can be closed now, thanks for your input dlethe.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
TingathewingaAuthor Commented:
None of these answers solved the problem, but Dlethe provided some things to try.
Really the question requires no answer anymore as it was fixed by the software developer.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2008

From novice to tech pro — start learning today.