Skip to main content
Delphix

Registry Settings for Optimal Database Performance and Stability (KBA1251)

 

KBA

KBA#1251

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.

Troubleshooting

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

Resolution

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:

Running DelphixRegistrySetter.ps1:

Running DelphixRegistryChecker.ps1 after DelphixRegistrySetter.ps1 has done its work:

Additional Information  

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"