Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

When my Windows Server 2008 R2 machine is performing any large disk operations (copying 10GB files from one drive to another, copying similar file over network, merging HyperV snapshots, compressing large files), performance of the whole machine slows down terribly, everything becomes unresponsive. This is noticeable in any situation when the disk access is large enough not to fit in the cache.

Are there any settings available for tuning this behaviour? I can accept slower file transfer if this would give me more responsiveness.

System details: Dell Optiflex 960, Core 2 Quad Q9650, 8GB RAM, 2 SATA drives - 320GB (ST3320418AS) and 1TB (ST31000528AS), NCQ active on both, Intel 82564LM-3 Gigabit Ethernet, ATI HD 3450 graphics, Intel ICH10 bridge. We have multiple machines like this, every one is exhibiting the same behaviour. I though this was overkill for a workstation, apparently I was mistaken.

Update: I guess I shouldn't have mentioned the HyperV at all. The above configuration is a standard workstation setup at the company I work for, this is not a server of any kind. I have at most 3 virtual machines working, and usually I'm the only person accessing them. Never the less, the slowdown occurs even when no VMs are running. On a Linux machine I'd simply ionice the copy process and I could forget about it, is there any way to manage IO priorities on Windows?

share|improve this question
    
What kind of processor are you using? What kind of disk subsystem are you accessing, and which model? –  Hyppy Mar 28 '11 at 12:11
    
Updated my question with details. –  skolima Mar 30 '11 at 8:02
    
Any antivirus running? –  Hyppy Mar 30 '11 at 12:57
    
Nope. The server is basically only a HyperV host. Yes, I'm 100% sure it's not infected with anything. No, the VMs aren't busy. –  skolima Apr 8 '11 at 9:57
    
Just to be clear, the file copies occur outside the VMs? I have used a configuration quite similar to yours without problems for test lab purposes. Obviously you don't expect server grade performance, but it does work. Our load is more CPU intensive than IO intensive though. :) –  Jeremy Apr 20 '11 at 20:01

7 Answers 7

up vote 7 down vote accepted
+25

Using a server as a desktop... got a fancy video card driver installed? (just a suggestion)

http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx

Update: On an i7 with SLAT or EPT support, you can do something like this {for VMs only} via RemoteFX. But running Aero on the host may still make performance worse.

share|improve this answer
1  
Dual-monitor setup, ATI Radeon (quite decent) - this might be a good catch, I'll look into it. –  skolima Apr 21 '11 at 13:28
2  
You were right! The 'Virtual TLB Flush Entries/sec' shoots through the roof when a copy job starts. Great catch, too bad it means that we do have to replace our hardware. –  skolima Apr 21 '11 at 13:44
    
Awesome, sorta! I'd suggest just checking that the performance issues are fixed if you boot with VGA mode for a quick test. (not fun, I know) –  TristanK Apr 23 '11 at 8:04

I am inclined to sa that happens if you run a hyper-v server on inapproiate hardware. I had the same on repurposed workstation systems where the IO budget of the ard disc was on the lower end.

Ever since moving to a proper raid conroller on a beefier server I can copy that stuff over at speeds I found incredible before (hundreds of megabytes per second WHILE other things happens). Only problem is when 10 or so vm's are making their monthly at the same time patch orgy.

I would suggest checking: * Average disc response time, normally and during operations * Disc busy percentages.

For more information please post the complete hardware - memory, processor, disc subsystem and layout.

** Update

SATA drives - 320GB and 1TB

You must be freaking joking to run Hyper-V against that.

here are some convigurations I have.

  • Small server (16gb RAM, runs a handfull of images): Adaptec 3405, 245mb write back cache battery backed up, 3x 320gb ram disc. This is a low performance thing. Works nice. They also have another 4 discs as file storage 8because i use them as double file servers in a small development setup).
  • Standard Server: 64gb RAM, one in use. Runs 20-30 images. And here we go: Adaptec 5805 raid controller, 512mb ram, battery back up, write back cache. 8(!) 10.000RPM Velociraptors, RAID 10.

BOTH (!) have problems when making large file transfers as IO gets taxes, although the larger one is network limited then (1gbit until in 5 hours, then 4) and generall the combo with the controller handles the situation VERY well.

A 2 disc system - and the 1tb obviously is not a performance disc, but one that is made for size - simply is like running a formula 1 race with a fiat panda. On board non buffering low price controller means no IO optimization is possible either. When your file copy hits, the disc budget totally goes into this. THere may be some left for the OS, but anything else.... whow.

By modern standards this is LOOOOOW end server or a decent workstations with a lot of CPU (8gb RAM is higher end workstation). The discs are not server grade. This is not something I would put a hypervisor on except for demonstrations. Hyper-V is like a database - it needs IO. A lot of. Because the hypervisor totally kills "sequential access" and turns it into random, like any database is.

You need to put appropriate IO capbilities into it. As well as enough RAM (if youneed it), then you can run a lot more on them, virtual machine wise - the CPU is otherwise simply totally unused. I hope your VM's are very CPU intensive, otherwise it is wasted.

share|improve this answer
    
+1 for "patch orgy" –  BenGC Apr 15 '11 at 22:38
    
There is no reason you can't run hyper-v on that as long as there are appropriate expectations –  Jim B Apr 16 '11 at 21:06
    
;) And those better are low with such a box. –  TomTom Apr 17 '11 at 10:20
    
This is a single-user workstation, not a server, I've updated the question. –  skolima Apr 18 '11 at 8:20
    
Still stuck. Make sure you dont hae obvious configuratio n errors - VERY important: maybe your IT department was not smart enough to activate NCQ. Windows IP priorities are sadly no configurable to my knowledge. –  TomTom Apr 18 '11 at 9:38

I had a similar problem: Windows 2008, VMware server and a low end server with SATA drives. Network performance and local copy of big files were poor. After investigating I discovered that SATA mode was in emulated IDE in BIOS configuration. Changed to SATA native and performance increased slightly. However SATA drives are not the best idea for virtualization. Three vms and other tasks from the host means the drives access will be a bottleneck.

share|improve this answer

You might want to try off-loading as much of the disk-IO as possible onto an external SAN. (A drobo would do the job pretty well) It sounds like the host simply can't handle the amount of IO. Also it might be useful to make sure chipset & disk controller drivers are installed & up-to-date.

share|improve this answer

It looks like you have 2 SATA drives and I would guess that there is more activity on the 1TB drive. You didn't say what type of drives but I would also suspect that they do not support NCQ (which would help a little). Clearly you have an IO bottleneck. The optiplex 960 as configured would not be able to handle large IO loads since I believe the 2 disks share the same bus ( the onboard is a port multiplier). You might try purchasing an additional sata card (my suggestion -16-318-008--Product">http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata--16-318-008--Product) or something similar. I've tried to use desktops in the past as server and run into similar headaches to the point where now I'll just pick up a cheap server. HP has an ML 110 series that starts at $400 (and that's with a core i3). Server chipsets are almost always multilane sata controllers.

share|improve this answer

You can look at I/O priorities using the Resource Monitor. I also found a thread with a tool for adjusting them here

share|improve this answer

I would start with installing/running Process Hacker. It's like process explorer but better.

Start a file copying and then begin sorting through the data displayed looking for anything that looks odd.

Tools -> Page file - Is it huge? What was it's peak? Check explorer.exe by double clicking it in Process hacker and look at Performance Tab. Here's what mine looked like while copying a VM folder (containing several, various sized vmdk files).

Check out the bottom window that shows my I/O. I watched and saw that it dropped to zero as it finished each file.

Does explorer.exe's resource utilization spike?
Does another process spike instead? (i.e. AV scanning the copy process?)

Do the same thing on another similarly spec'd system and compare the results.

Are all of your cores being used?

Hopefully Process Hacker will give you additional perspective into the problem.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.