Skip to main content
Delphix

Parameter values to use when testing network throughput on Windows target environments (KBA9011)

 

KBA

KBA# 9011

 

Issue

When running the network performance tool to test network throughput between the engine and Windows target hosts, there are a number of parameter choices to consider to closely match the SQL Server workloads involved in dataset operations. This article will present the non-default values and provide descriptions for these values offering explanations on why they are used in this test.

Prerequisites

  • Delphix Continuous Data Engine (from here on known as the Delphix engine) configured for use with SQL Server virtualization
  • Supported Windows target hosts

 

Applicable Delphix Versions

Click here to view the versions of the Delphix engine to which this article applies
Major Release All Sub Releases
6.0 6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0

5.3

5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0

5.2

5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1

5.1

5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0

5.0

5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4

Resolution

By default the Network Performance Tool select test type "Throughput" will appear like this by default (your environment and host addresses will be represented):

default_netperf_throughput.png

For Windows hosts used as targets for the Delphix engine VDBs, we want to change two of the parameters:

Number of connections = 1
Windows makes a single iSCSI network connection from the Windows iSCSI initiator to the Delphix Engine as an iSCSI target, so setting the number of connections to 1 matches the behaviors with workloads seen on the VDBs.
Block Size (bytes) = 131072
  • For testing SQL Server Windows target hosts, setting a packet size of 128K or 256K, with one connection, will produce a realistic network simulation of a SQL Server workload, from the network standpoint.
  • SQL Server itself usually reads and writes data pages to disk in "extents" of 64KB, and the SCSI driver will batch write requests together up to 128KB or 256KB (depending on a registry setting - see links below in the Related Articles section ). 
  • You will want to inspect your iSCSI registry settings for the buffer size used.  By default, Windows uses 256K buffer (which we recommend to leave as is for 6.0 engines and higher).  For the pre-6.0 engines, the requirement was to use 128K buffer size.
  • To explain the registry values, look under the key (the Related Articles section below explains how to determine the "Instance Number" value): 
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\<Instance Number>\<Parameters>
  • The three Parameters are:
    • MaxTransferLength
    • MaxBurstLength
    • MaxRecvDataSegmentLength
  • All three are related to the iSCSI buffer size, 128K for pre-6.0 engines and 256K for 6.0+ engines.
  • When configuring for the Throughput tests you set the Block Size value based on your Windows Host's registry values.

On a configuration using 128K the page looks like this:

Windows_values.png

You can now run the tests and find out the optimal Block Size to use in the registry if your test runs show significant differences in throughput.