NT Compatible - Tuning Guide for Windows NT/2000 (Page 2)


Want even MORE outta your disks? Check this out:

Turn off the extensible performance counters (you'll need the tool that comes with the ResourceKit to make it easy on yourself to turn them ALL off via an easy to use GUI interface with point & click ease of use).

The tool's exe name is => exctrlst.exe

http://www.microsoft.com/windows2000/library/resources/reskit/tools/existing/exctrlst-o.asp 

* If you're not performing analysis of this stuff, turn those counters off! Many things like your disk for instance, will speed up quite alot!


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM]
"EnableEvents"="0"
"Logging"="0"
"Logging Directory"= k:\temp
"Working Directory"= k:\temp
"Backup Interval Threshold"="60"
 
WBEM (Windows Based Enterprise Management is what I believe this acronym stands for), which I do not like or trust personally, has a logging feature!
 
I am of the opinion to turn off logging if you do not need it and can in most all OS functions in Win2k... even the Event Logs, if you do NOT need to be recording it!
 
This also theoretically helps ease fragmentation also potentially, another speed benefit that COULD result!
 
(This is JUST LIKE turning off the Extensible Counters for NT based Os' performance monitor, a proven speedup by turning off logging of disks, TcpIP, faxing, printing, heck... anything IO related for more speed!)
 
Less Disk I/O in logging = more speed is the rationale! Less fragmentation potential as well... no log written means a file cannot fragment or fragment other files also!

YET ANOTHER GOOD TRICK REGARDING TEMPORARY ENVIRONMENT VARIABLES & SECOND DRIVE USE FOR THEM:

Place the temp & tmp variables onto another second drive as well (preferably ScSi, as this trick REALLY takes effect on those moreso than on IDE/EIDE)! 

This is accomplished via the SystemIcon in Control Panel-> Advanced Tab-> Environment Button (either double click on the TEMP var or right click on it, you may have to manually add TMP as another one, as many programs utilize this! I also add WZTEMP for winzip, & PKTEMP for PKZip!)

* A radical trick for this is to use RamDrives! I do this via the Ramdisk in my APK Windows Tools 2000++ which has a 32mb sized Microsoft DDK based version of a Ramdrive, very very fast operating @ the speed of RAM, not 1000x slower harddrives! But, using this second drive trick is nice too, much better than having these on your systemdrive harddisk!

Here is a list of tricks RAMDRIVES can be used for, for enhancing system overall speed & performance at this URL: http://www.superspeed.com/aptipandhin.html#t6 (Note: THIS IS A LISTING OF CREATIVE USES OF RAMDRIVES FOR SUPERIOR SYSTEM PERFORMANCE!)


STILL NOT ENOUGH YET?

Gain MORE Enhanced Performance With Two Disks (especially with ScSi drives that allow TRUE multitasking & multhreaded concurrent/simultaneous access! This is great, not only for the swapfile technique I told you about earlier...) 


You can use the Registry hives locations movement technique here for enhancing your diskdrive(s) performance on a PC with two (or more) hard drives, again preferably with ScSi drives, & this shows you how to alter the locations of the eventlog off the bootdisk/systemdrive off to an alternate diskdrive! 

* See, Usually the Security, Application, & System event logs (SECEVENT.EVT, APPEVENT.EVT, and SYSEVENT.EVT) are placed inside the same folder with the Registry hives, namely, C:\WINNT\SYSTEM32\CONFIG. 

(You can change these locations by modifying the location specified by the File value in the following Registry keys):

HKLM\System\CurrentControlSet\Services\Eventlog\Security 
HKLM\System\CurrentControlSet\Services\Eventlog\Application 
HKLM\System\CurrentControlSet\Services\Eventlog\System 

In moving the eventlog to a second physical hard diskdrive you're lessening the load on the taxed by logging additionally system diskdrive & you gain more performance! 


Turn off Indexing Service on Win2k Server/Advanced Server & Microsoft Office "findfast" (if you use it!) 

Indexing Service creates indexes of the contents and properties of documents on local and network drives. It's quite similar to "Find Fast" that ships with Microsoft Office. Indexing Service runs continuously. Turning this thing off might increase performance: 

My Computer -> Right click on Drive icon -> Select Properties -> Remove the checkmark from "Allow Indexing Service to index this disk for fast file searching" -> Click Apply. 

Make sure to select "Apply changes to :\, subfolders and files." before clicking OK in the new window.


Spooler File Location 

Alter the disk location the printer spooler uses normally on the Windows NT/2k system hard diskdrive, thus, decreasing the overtaxing & over-utilization of the Windows NT/2k system hard diskdrive. 

* Make sure the physical hard diskdrive you send the new spoolerfile to has enough disk space available to handle ALL sizes of print requests, especially on a networked server system or a print server! 

A. Click Start. 
B. Click Control Panel. 
C. Click Printers. 
D. Click File. 
E. Click Server Properties. 
F. Click the Advanced Tab. 
G. Type the name of the new directory in the spool folder dialog box. 
H. Click ok 


NEXT? SOME REGISTRY ORIENTED TUNEUPS FOR THE SERIOUS GEAR HEAD:

ALTER IOPAGE LOCK LIMITS VALUES FOR MORE PERFORMANCE!

HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory

IoPageLockLimit

4096000 (Decimal value in bytes)
8192000 (Decimal value in bytes)
16384000 (Decimal value in bytes)
65536000 (Decimal value in bytes)

(Increasing this can really speedup your machine! Experimentation is encouraged and test with a benchmark program for diskspeeds! BUT, the rub here is the jury is out on this one, as some sites like JSIINC.com say the setting should be done in bytes as above, or Microsoft says Kilobytes as below. BOTH sites are reputable of course, & there is other sites that mention it again confusing the issue on this one... DO TEST!)

HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory

IoPageLockLimit

4096 (Decimal value in kilobytes kb)
8192 (Decimal value in kilobytes kb)
16384 (Decimal value in kilobytes kb)
65536 (Decimal value in kilobytes kb)

* Testings done at various sites showed no difference in using bytes or kilobytes which is odd, but I have to go with the Microsoft assessment in KB, because they designed the OS! Again, testing independently on your own on this one is STRONGLY encouraged!

* Of course, like any registry settings, you have to reboot for it to take!

------------------------------

OPTIMIZE L2 CACHE LEVEL PRECISELY!

HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

SecondLevelDataCache

256
512
1024
2048

(Basically, set this to the actual amount you have online in your machine, NT Defaults to 256 EVERYTIME! It is not set to the TRUE value, this can really boost stuff up!)

* Of course, like any registry settings, you have to reboot for it to take! 


HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

NtfsDisable8dot3NameCreation
DisableLastAccessUpdate

(Disabling 8.3 speeds up your system thru not making this extra entry to the Master File Table (MFT) in NT & Disabling LastAccessUpdate speeds up your system thru again, not making an extra entry everytime a file is used... watch it if you use 16-bit programs & installers, they do NOT like this
NtfsDisable8dot3NameCreation being turned off!)

* Of course, like any registry settings, you have to reboot for it to take! 


HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Memory Management

DisablePagingExecutive

(This helps speedup your machine by not allowing NT to page out its kernel keeping it in RAM constantly for the most part... good stuff for OS crispness to the max!)

* Of course, like any registry settings, you have to reboot for it to take! 


If you ever get errors of 'INSUFFICIENT_RESOURCES' try this one:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Add DWORD name UnusedFileCache which can range from 0 to 40 (Decimal sized values).

(UnusedFileCache trims up the unused cache based on pool usages & the value you are adding is the percentage of that pool that can be consumed by non-used segments before it's trimmed off

The POSSIBLE values for UnusedFileCache are as follows:

RANGE NUMBER DEFINITION 

0 Default, just like Windows NT 4.0 with SP# 3 integrated & online. 
5 Most powerful setup for trimming off that working set. 
40 Least powerful setup for trimming off that working set. 

(15 through 20 In this range is the nicest balance & seems to boost up performance of apps!)

* Of course, like any registry settings, you have to reboot for it to take! 


NT CACHESIZE CONTROL VIA REGISTRY TUNING:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Session Manager\Memory Management 

Edit LargeSystemCache to 0 so you lessene the memory utilized in file caching. 

* Of course, like any registry settings, you have to reboot for it to take! 

(System internals website has a tool that REALLY automates even more of this! The CacheSet program which works on NT & Windows2k  (http://www.sysinternals.com) let's you REALLY control the granularity of this even more. It works VERY nicely! Try it out...)


CONTROL TIME LIMIT & NUMBER OF CACHED FILES CLOSING & HELD STATES IN THE DISKCACHE:

This is tuned by you at:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters

CacheFileTimeout, REG_DWORD type & can range from 0x0 to 0xFFFFFFFF in seconds. This is defaulted to a value of 0xA (10 seconds). You can alter this depending on how long you want this held in the cache for filecaching by editing this value with the registry editor!

DormantFileLimit, REG_DWORD type can range from 0x0 to 0xFFFFFFFF files. This is defaulted to a value of 45 files. You can raise this up or down as you feel you need to depending on how your system uses files as you see fit to tune this parameter!

* Of course, like any registry settings, you have to reboot for it to take! 


SET DEFAULT PROCESS PRIORITY TIMESLICING VIA REGISTRY TUNINGS!

Foreground vs Background process CPU cycle time allocations from the OS' process scheduling mechanism for programs can be tuned manually by setting values for Win32PrioritySeparation at:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl\Win32PrioritySeparation

(This REG_DWORD value entry is normally 2 from the list below by default)

RANGE NUMBER    DEFINITION 

0                       Foreground apps get same CPU Cycles timeslices as Background apps, balance!
1                       Foreground apps get bit more CPU Cycles timeslices than Background apps!
2                       Foreground thread processes get much more CPU Cycles timeslices than Background apps!

(This is alterable manually by process in the start /high stuff at the top of the chart here, you can bypass much of the normal OS scheduler by using it from this document in the top part!)

* Of course, like any registry settings, you have to reboot for it to take! 


(Now, a final tip regarding TCP/IP Tuning & networking/internetting speed tuning, for online gaming!)

Your last tune-up would be to use the http://www.speedguide.net tuning to your Tcp/IP networking stack drivers reparameterizing them!

* NT based Os' are the fastest as is out there for networking & internetting, but this stuff at that site? (Makes 'em even faster!) ** There's more you can do, but this is one HELL of a start! NT based Os' are even MORE tuneable than Win9x ones are!


** WANT TO GO EVEN FARTHER ON NETWORK/INTERNET SPEED TUNING? CHECK THIS OUT NEXT YOU GEARHEADS:

TURN OFF TIMESTAMPING OF TCPIP to gain 12bytes per packet & more receive/download speed:

HKEY_LOCAL_MACHINE/SYSTEM/currentcontrolset/services/tcpip/parameters

Time Stamps is enabled if you have TCP1320Opts set to 3.

Set it to 1 to dissable it.
Saves 12 bytes per packet increasing download amt. per packet possible by that much! Servers today do not require time stamps... at least most don't!



HKEY_LOCAL_MACHINE/SYSTEM/currentcontrolset/services/tcpip/parameters

TcpWindowSize change to 512512, along with GlobalMaxTcpWindowSize! This opened up a 6 point increase for me on several tests online of Internet Speed! 

Implement the Van Jacobson algorithm, edit:

HKEY_LOCAL_MACHINE/SYSTEM/currentcontrolset/services/tcpip/parameters

Add Value name TcpMaxDupAcks, REG_DWORD type, & set its value to the n (number) of ACKs.
The range alloweable is 1-3 & default value set is 2. 

* Of course, like any registry settings, you have to reboot for it to take! 


Turn on your EnablePMTUDiscovery feature in the registry

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

If you have a value name of EnablePMTUDiscovery, type REG_DWORD that's = 0, PMTUDiscovery is turned off. The lack of this value means that discovery is turned on. The possible data values are:

0 TCP uses an MTU of 576 bytes for all connections to computers outside the local subnet.
1 TCP attempts to discover the MTU of the path to a remote host. This is the default. 

* Of course, like any registry settings, you have to reboot for it to take! 


BOOST NETWORK REDIRECTOR SPEED & PERFORMANCES USING THIS TIP: 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters 

Modify or Add Value of type REG_DWORD for: 

MaxCmds The range is 0 - 255 and the default is 15 (MaxThreads Set it to the same value as MaxCmds) 

* You might also want to boost the number for MaxCollectionCount. This REG_DWORD is a buffer for character-mode named pipes writes. Default setting's 16 & range goes from 0 to 65535. 

* Of course, like any registry settings, you have to reboot for it to take! 


KEEP NETWORK DELAY DOWN! 

With light TCP/IP network activity, delays can startup w/ a default request buffer size (4356 decimal sized is default). 

Range allowed for this parameter = 512 to 65536 bytes. 

Testing's shown in most std. Ethernet networked environs, 14596 (decimal sized value) turns out to be a better choice, if you have the RAM to spare? Edit:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters 

& Add DWORD type SizReqBuf & add in a value testing later for increase or decrease by this number offered above. 

* Of course, like any registry settings, you have to reboot for it to take! 


IF YOU EVER SEE A SLOW NETWORK, HERE ARE THE THINGS TO CHECK OUT FIRST: 

I would ask myself the following questions: 

A. NIC's running full throttle? Check & see if the cards' BIOS's are configured right. 3Com's come with a utility called 3c90xcfg that allow you to change many settings. Make sure everything is right & maxed out. (Full duplex, ect...) 

B. Hubs or switches? Hubs put all the machines attached on same collision & broadcast domain. This causes severely reduced performances because the increased traffic on the segment in question. (Switches isolate each node on the segment as if they had a dedicated connection to the router. Switches totally break up the broadcast and collision domain structures.) 

C. Broadcasting any unnecessary protocols? Netadmins will many times enable TOO many protocols for their network(s). NetBEUI &d TCP/IP for instance. Use one or the other, not both. BUT, if you use TCP/IP, the best one I feel, then you need a WINS server. This is needed if you have nodes across multiple subnets in your organizations LAN topology! 

D. Do you analyze your network utilization? You find this using a network analyzer program, like the one that comes with NT server. It's limited because unless you are multihomed (multiple adapters on multiple subnets), you won't be able to see other subnets on your LAN/WAN. 

E. Are my NIC's working properly? A malfuctioning NIC can bring entire networks down to performing REALLY badly! So run diagnostic/analysis programs on your NICs. 

F. Network settings setup right? MTU is a BIG one! It's how large packets are on the network you're attached to! The Maxiumum Transmission Unit (MTU) usually is around 1450-1500 for ethernet networks (see PING -f -l [size of packets] [yourISPserver] tip above to tune this yourself manually to perfection!) 

Next Page >>>


Home

Home
Articles
News Archive
Message Forum

News Categories

Drivers
Guides
Reviews
Security

Search Newsarchive

FAQ

3dfx FAQ
Windows NT 4.0
Windows 2000
Windows XP
Windows .NET Server

Compatibility

What´s new
Applications
Games
Hardware
Submit Result

Links

VDMSound project

Other

Bookmark Page
Links
Advertise

 

Windows NT, Windows 2000, Windows XP, Microsoft and its logos are registered trademarks of Microsoft Corporation.
All other products mentioned are registered trademarks or trademarks of their respective owners.
© 1998-2002 Philipp Esselbach - All Rights Reserved. Terms and privacy policy