When I install Windows these are all of the things that I do for optimizing performance. It is a "tweak guide" that I send out to the occasional person who requests it. You will note that I now include the HPET tweak.
I hope that this helps with reproducing my higher level of performance.
CPU tweaks:
Core Parking
http://forum.cakewalk.com/Windows-7-amp-Core-Parking-a-better-way-to-Turn-It-OFF-m1861804.aspx
HPET:
https://www.overclock.net/threads/high-precision-event-timer.1334719/
Key steps for HPET:
- Enable HPET in BIOS. If you have HPET option in BIOS then your hardware can support HPET.
- Enable HPET in Windows by giving this command in admin credential CMD:
bcdedit /set useplatformclock true
- Reboot
Service tweaking:
ReadyBoost really does help if you do not have an SSD. Use a USB3 stick even if you only have USB2 connections:
<invalid hyperlink removed by admin>
<invalid hyperlink removed by admin>
<invalid hyperlink removed by admin>
I disable Distributed Client Tracking Service because it serves no valid purpose on my system,
Network tweaking
- Disable RDC
Go to "Programs and features" > "Turn Windows features on or off" > Uncheck Remote Differential Compression. There is a great counterargument for leaving it enabled:
Debunking the Vista Remote Differential Compression Myth
-
DisableBandwidthThrottling
Open regedit and find:
HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\
Create a new DWORD named DisableBandwidthThrottling
, change the Base radio button to Decimal then change the Value
data entry to 1
.
The default is 0. This setting is available starting with Windows Server 2008 SP2.
By default, the SMB redirector throttles throughput across high-latency network connections in some cases to avoid network-related timeouts.
Setting this registry value to 1 disables this throttling, enabling higher file transfer throughput over high-latency network connections.
- Disable
NetworkThrottlingIndex
Open regedit and find:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
Locate the NetworkThrottlingIndex
DWORD entry. Double-click it to open and change the Base to Decimal.
The default value for this DWORD is 10, but the valid range for it is 1 to 70.
You can try lower values than 10, but I want to start off with totally disabling by using a value of 1 in the Value data field.
- Tune advanced card proprieties in device manager
disable power management in device manager for network card
disable IPv6 and all advanced ipv6 features like:
- TCP Check-sum Offload (IPv6)
- UDP Check-sum Offload (IPv6)
- Large Send Offload (LSO) v2 (IPv6)
force network card speed to 1Gb full duplex (assuming your running gbic nics).
"Jumbo Frame"(MTU), check if your nic/network supports "Jumbo Frame", mine is 9k. Go to device manager again and set it up. Don’t skip this one it will give a nice boost.
Set receive/transmit buffers, change to 512/128, respectively, or whatever is the top value for your nic, mine was 512 for receive and 128 for transmit.
If you don’t have many of these options just download the driver for your nic from the manufacture website, as many times installed drivers are Microsoft generic drivers, lacking many options.
- Disable task offload from CLI
(you probably have this option in device manager, but this way it will be disabled even if your nic driver doesn’t support/use it)
Run a command shell as admin and paste:
netsh int ip set global taskoffload=disabled
And to finish, reboot and test smb/cifs performance.
Logging:
I make sure to monitor my logs to see if there are any problems. The best way to clean them that I have found is this:
Run as Administrator on the command line.
for /f %x in ('wevtutil el') do wevtutil cl "%x"
Reboot the PC, look in Event Viewer and start playing whack a mole. I recommend having the following custom views with Critical, Error, and Warning:
- Administrative Events
- Application
- Boot Time
- Security
- Setup
- System
Make sure to have good backups of your settings and document everything so that you can revert if needed.