troubleshooting Question

Why doesn't my Windows database application run faster? How to improve Windows system cache performance?

Avatar of Staudte
StaudteFlag for Germany asked on
Windows Server 2008Windows 7Databases
6 Comments3 Solutions1075 ViewsLast Modified:
Hi , fellow experts,

I have a Windows 2008 R2 server system (i7-3930K hexa-core CPU, 16 GB RAM, 2x 300GB 10k SATA drives in Windows-RAID1) that runs a software named TurboMed. TurboMed uses a FastObjects database server, that runs on the same machine. (Both are 32bit apps.) I tell TurboMed to process a rather long textfile and import it into the database. That import process takes a long time (hours).

I would like to understand WHY this takes so long. I checked task manager and resource monitor and don't see any subsystem of the server that is fully loaded and busy. CPU is idling around at ~3%, only about 2.5 GB of RAM is used, the database itself should be fully in the system cache, the harddisk is chirping away at 0.5-1 MByte/s, LAN is idle (actually unplugged). I just don't see any bottlenecks... (well, I do see that one of the 12 virtual CPUs is somewhat busy and loaded about 50% on average, +/- 20%.)

In theory, shouldn't the system just run as fast as it can until at least one of the subsystems is fully saturated, e.g. a cpu core (or Hyper-Thread) is constantly at 100% (on the assumption that the program, e.g. the FastObject server is single-threaded)? However, I do see that FastObject server runs 29 threads, and TurboMed runs 31 threads...

Could someone please enlighten me and explain why the app isn't working any faster? (Please reply only with a qualified answer. If you just guess and don't know than don't reply.)

I'm attaching a couple of screen dumps from the resource monitor - it's in German, but I assume that you can identify the important columns easily.

Thanks a lot for your support,

EDIT: As a test I have created a 8GB RAMdisk and have moved the entire TurboMed directory and the file to be imported to the RAMdisk. The process is now much faster, I would guess at least 5 times. CPU 0 is now used quite a bit more (around 80-95% average). The harddisk is not accessed anymore - which is expected.

Now the question must be rephrased somewhat: I would assume that with plenty of RAM Windows should keep the entire TurboMed database and the file to be imported in the system cache and should consequently perform the same as with a RAMdisk. Why doesn't it do that? Why is it still accessing the harddisk and how could I have seen that the harddisk is apparently the bottleneck?

Resource Monitor ScreendumpResource Monitor ScreendumpResource Monitor ScreendumpResource Monitor Screendump
Join our community to see this answer!
Unlock 3 Answers and 6 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 3 Answers and 6 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros