Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 293
  • Last Modified:

Barely any CPU used for ASP.NET/MySQL application

I'm building an import utility for ASP.NET and MySQL. It imports contacts from a CSV or XLS file. The problem is my local dev machine (Windows 2K3, IIS 6, Celeron 1.8 ghz single core) imports contacts about 10 times faster than our server (Windows 2K8, IIS 7, 8-core intel xeon). I've noticed that when running this import on the server, it doesn't even use 1% of the processor, while my dev machine uses a lot more.

This import tool is pretty intense and a lot is going on with it. Is there some sort of processor cap that I can modify? I obviously don't want it using all 8 cores at once, but it doesn't even crack 1% cpu usage during the import operation and as a result is causing import operations to take incredibly long to complete.

Any ideas? Thanks.
0
redheaded
Asked:
redheaded
  • 2
1 Solution
 
Ted BouskillSenior Software DeveloperCommented:
The biggest difference between and server and a workstation is that a server has to potentially deal with hundreds of requests at a time and workstation only one.

Because a server can't predict when the next request is coming they are conservative about rationing out CPU time.  Even if it was possible to modify the logic I wouldn't do it.

There could be other factors at play on your server.  For example, an AntiVirus solution on a server, firewalls et cetera can slow local file access that is outside the boundaries of a typical web application.

I'd suggest you use a free tool like 'Spotlight for Windows' from Quest software to see if there are I/O or other bottlenecks.
0
 
redheadedAuthor Commented:
I'll try that software.

What about understanding "queries per second"? How can I determine my average for both machines for comparison? Is there a manual way to change this, if there's a cap? Thanks.
0
 
Ted BouskillSenior Software DeveloperCommented:
Hmm, this is tricky to explain but I'll try.  Changing the maximum workload the server can handle will not change the percentage assigned to each query.

Let's say that at 100% CPU usage the server can handle 100 queries.  So, that means at peak capacity 1 query uses 1% of resources.  If I set a web application to only process a maximum of 20 queries it doesn't mean that at peak capacity those 20 queries have 5% capacity as a maximum.  Setting a maximum capacity doesn't automatically increase the maximum CPU given to each query.

What you are asking for is a way to control the core preemptive multi-tasking scheduling within Windows.  In my experience there is no way to control it.
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now