# Getting the Most From Your Intel® 10GbE Server Adapter

Peak network performance for Intel® 10GbE server adapters may be achieved when the system is tuned for 10 gigabit network traffic.

| NOTE: These adjustments should be performed by a highly skilled network administrator. They are not guaranteed to improve performance. Not all settings shown here may be available through your BIOS, operating system or network driver configuration. Linux users, see the README file in the Linux driver package for Linux-specific performance enhancement details.

1. Install the adapter in a PCI-X bus slot with no other devices installed in the same bus segment.

2. Use the proper fiber cabling for the adapter you have. See Attach the Network Cable for details.

3. Enable Jumbo Frames, if your other network components can also be configured for it.

4. If your BIOS has an MMRBC (Maximum Memory Read Byte Count) adjustment, change it from its default (usually 512) to 4096 (maximum). If your BIOS does not support changing or modifying MMRBC, see Setting MMRBC.

| NOTE: Some systems may set the adapter's MMRBC to 4096 by default.

5. If you are running Microsoft* Windows* 2000, increase the TCP window size from its default setting to 65535 bytes, or to the nearest whole incremental value of the system MSS which is closest to, but less than 65535 bytes. For example: If the frame size in use is 1514 bytes (the default) the MSS is 1460 bytes. Set the TCP Window Size to 64240 which is 44 times 1460.

6. Increase the number of TCP and Socket resources from the default value. For Windows based systems, we have not identified system parameters other than the TCP Window Size which significantly impact performance.

7. Increase the allocation size of Driver Resources (transmit/receive buffers). However, most TCP traffic patterns work best with the transmit buffer set to its default value, and the receive buffer set to its minimum value.

## Setting MMRBC (Maximum Memory Read Byte Count)

Setting the MMRBC to 4096 bytes may provide better performance on some systems, especially when used in conjunction with Jumbo Frames.

To change the MMRBC on an IA-32-based system running Microsoft Windows 2000, you will need a runtime PCI configuration utility. These are readily available as shareware via the Internet. Follow these steps:

1. Install and run the utility.

2. Look for the device whose Vendor ID is 8086 and Device ID is 1048, 1A48 or 1B48. This is the Intel 10GbE adapter.

3. Find the register at offset E6. This will contain the value 22 or 42. The least-significant digit defines the MMRBC. Set a new value of 2E or 4E. This will set the MMRBC to 4096 bytes.

To change the MMRBC on an Itanium®-based computer, running Microsoft Windows Server* 2003 or Windows Server 2008, use EFI commands to change this value. Follow these steps:

1. Boot the system into the EFI shell.

2. Run the command "PCI".

3. Scroll through the output and find the adapter whose Vendor ID is 8086 and Device ID is 1048, 1A48 or 1B48. This is the Intel 10GbE adapter.

4. Record the values indicated for segment, bus, device, and function.

5. Run the mm command as follows:

`mm ssbbddffrr ;pci`

where ssbbddff refer to the values recorded from the PCI command above and rr is the offset E6. This will contain the value 22 or 42. The least-significant digit defines the MMRBC. Set a new value of 2E or 4E. This will set the MMRBC to 4096 bytes.

6. Change the MMRBC by typing in the desired value and pressing enter.

7. Exit the program, making sure the value is saved in the register.

8. Exit the EFI shell.

9. Boot to the operating system.

`Last modified on 12/11/07 3:47p Revision 10`