I have Windows Server 2008 R2 running on an IBM 3650 M3 with 20G of RAM and 2 MT Quad core Xeons in the 2.93GHZ range I believe. The data bearing array has 4 500G SAS 15K drives in Raid5. The application is unusual in that the server hosts 3.2 million small files. The folders structure is quite deep and complex (sometimes 60-80 characters deep and some of the folders contain as many as 40 thousand files.
The server is used during business hours for editing primarily AutoCAD files, jpegs, pdfs, and dwfx(AutoCAD html image). Typically around 40 users are working with the data at any one time. The content is presented to clients via an IIS server real time.
The issue that I am having is that the large folders are extremely slow to display in the client's (as in client workstations) explorer window. I mean really SLOW. 15 to 30 seconds to display. When the system is really dragging the network, disk, and memory look fine but CPU is 70-90%. I waited until the users were gone this evening and ran some tests. I found that the simple act of accessing a folder with 40 thousand files would take the server's CPU up to 20% until the list was built (10 seconds maybe). With 40 people hammering the system plus the IIS server plus some automated process machines it's no wonder that the system is slow. By myself I took it to 20% with a 3 year old laptop.
Prior to the current server that role was performed by a IBM N3600 filer with similar poor response times and high CPU loads. Thinking it was overloaded (also doing VMs on SAN side) we moved to a conventional server as an experiment with slight improvements if any. Prior to the filer we were running this function on a Dell 1950 blade fibre attached to a 9 disk raid 5 on a EMC cx3-20. No problems there but we were running Win 2003/64 and XP SP3. I really think the problem lies within the interaction between Win 7/64 and 2008 R2/64.