Required Registry Settings for Optimal Database Performance
There are a number of Windows registry entries that must be set in order to provide optimal performance and stability for virtual databases (VDBs) and staging databases. These settings are not necessary on the Windows Server hosting the source database.
Failure to properly set these entries can cause a wide variety of problems including:
- Poor performance for VDBs
- Poor performance for dSources (both ingesting database dumps/transaction logs and writing new ones)
- VDBs and staging databases going offline frequently
Manually checking the registry entries is time consuming. Manually setting the registry entries is error prone. This article contains a PowerShell script that can check the registry for correctness and another that can set the entries.
As a Windows Administrator, run the "DelphixRegistryChecker.ps1" PowerShell script to get a report on the current registry values. Download the script here: DelphixRegistryChecker.ps1
If the output from the "DelphixRegistryChecker.ps1" script reports any errors, these need to be corrected. Either manually run "regedit.exe" and correct the entries by hand or use the "DelphixRegistrySetter.ps1" script.
Download the script here: DelphixRegistrySetter.ps1
Following are some screen shots of illustrating the output generated by the scripts.
Running DelphixRegistryChecker.ps1 before updating the registry:
When prompted for an IP address, enter the IP address of the Windows server being checked.
Running DelphixRegistryChecker.ps1 after DelphixRegistrySetter.ps1 has done its work:
Microsoft recommends enabling vRSS on Windows VMs hosted on Microsoft Hyper-V hypervisors. Currently the scripts do not attempt to check or enable vRSS. They do raise a message if they detect that the VM is running on a Hyper-V hypervisor. More information can be found in the Microsoft documentation titled "Virtual Receive Side Scaling (vRSS)".
The script also attempts to alert users when a host has hyper-threading enabled because RSS does not use hyper-threaded processors. For more information, please see "Introduction to Receive Side Scaling"