Subscribe to Windows IT Pro
April 01, 1997 12:00 AM

13 Tips for Optimizing Internet Information Server

Windows IT Pro
InstantDoc ID #35
Rating: (0)

Tip 11:
Permanently Cache MAC Addresses

The starting point for optimizing TCP/IP is to cache the Media Access Control (MAC) address of the destination host computer (the MAC address is the unique address that the manufacturer burns into a LAN adapter). When the IP stack encapsulates a data packet destined for another host computer, it must know the MAC address of the packet's destination. TCP/IP uses the Address Resolution Protocol (ARP) to determine the MAC address associated with a specific IP address.

Before you can cache a destination MAC address, first use ping to make sure the destination system is connected to the network. At the command prompt, enter

ping hostname
or
ping IP address

If your server and the destination host are properly connected to the network, from the destination host, you'll get a response similar to the following:

Pinging 130.30.0.8 with 32 bytes of data:
Reply from 130.30.0.8: bytes=32 time<10ms TTL=128
Reply from 130.30.0.8: bytes=32 time<10ms TTL=128
Reply from 130.30.0.8: bytes=32 time<10ms TTL=128
Reply from 130.30.0.8: bytes=32 time<10ms TTL=128

TABLE 1a: Displaying the MAC Address
for an IP Address
Interface: 130.30.0.9 on Interface 2
Internet Address Physical Address Type
130.30.0.7 00-aa-00-3b-3b-e7 dynamic
130.30.0.8 02-07-01-19-d5-56 dynamic

Next, to determine the MAC address associated with a specific IP address, use the ARP utility. Enter

arp -g

at the command prompt to display the information shown in Table 1a. The MAC address of node 130.30.0.8 has a physical hardware address of 02-07-01-19-d5-56. If the IP address had been on a different subnet, the hardware address would be the address of the router linked to the destination host, not the host. The type is dynamic, which means node 130.30.0.8's MAC address will be flushed from the cache if not used again within 2 minutes. Otherwise, it will still be flushed after 10 minutes.

TABLE 1b: A MAC Address Permanently
Stored in the ARP Cache
Interface: 130.30.0.9 on Interface 2
Internet Address Physical Address Type
130.30.0.7 00-aa-00-3b-3b-e7 dynamic
130.30.0.8 02-07-01-19-d5-56 static

You can configure the time a MAC address is stored in the ARP cache (called cache aging) in the Registry (you need NT 3.51 with Service Pack 4 or NT 4.0). The ARP cache is a small section of memory in which TCP/IP stores IP addresses and their associated MAC adapter addresses. Because the ARP cache is always the first place ARP looks to resolve an IP address, permanently storing these entries in the cache prevents the server from having to send a broadcast packet to resolve IP addresses. This process eliminates wasted (i.e., broadcast) packets and improves network communications by producing packets directed only to a specific address rather than the entire network. You can permanently store the MAC address in the ARP cache by using the -s parameter, as follows:

arp -s 130.30.0.8 02-07-01-19-d5-56

The -s parameter stores the MAC address in the cache permanently, or until you restart the machine. After adding the MAC address into the cache permanently and then entering the command

arp -g

you'll notice the type is now static: The MAC address won't be flushed from the cache, as Table 1b shows.

To boost performance and reduce the number of broadcasts, cache the MAC addresses of host computers the IIS server regularly interacts with, such as SQL Server databases on different host systems. Permanently caching certain addresses minimizes server-to-server communications time--the amount of time a server takes to process a user request, execute the request (which may involve communications with other servers such as SQL Server databases), and return a response to the user.

Tip 12:
Adjust TCP/IP Window Size

Adjust the TCP/IP window size to tune TCP/IP and improve IIS performance. Microsoft's implementation of TCP/IP uses an algorithm called sliding windows. Sliding windows transmit a specific number of packets defined by the window size (the default is 8) and wait for an acknowledgment (ACK) from the destination host. When it receives packets, it sends an ACK to notify the source host about which packets it received. If the destination host didn't receive a particular packet--for example, packet 5 of the eight packets sent--the source host slides the window (number of packets to send) to packet 5, which then releases packets 9 through 12. The server waits until a timeout period expires to retransmit packet 5. The window won't slide past packet 5 until it receives an ACK for packet 5. This method ensures delivery of all packets across unreliable networks such as the Internet.

For a multiserver Web site that's clustered on one physical LAN segment, increasing the TCP/IP window size can be especially beneficial because it puts more data on the physical layer, thus shortening the ACK wait time. Increase the window size only when communicating across reliable networks, such as a LAN. Sites located across one or more routers must keep the default window size of eight because the routers could drop packets, causing the source host to wait to determine whether to retransmit packets. You can configure the default window size in the Registry (for information about setting this entry, see Microsoft Knowledge Base article Q120642).

Tip 13:
Use Analysis Tools

You can analyze your IIS server's performance with a tool such as WebStone 2.0, the current industry standard for measuring Web server benchmark performance. Developed by Silicon Graphics (SGI), WebStone is available for NT and UNIX platforms. You can download it for free from http://www.sgi.com. WebStone lets a series of clients simulate hundreds or thousands of requests over a configurable amount of time. You can configure WebStone to request straight HTML, CGI, or Internet Server API (ISAPI) applications.

To further fine-tune NT server operations, take advantage of the many counters available in Perfmon under the IIS Global object, as mentioned in Tip 8. Monitoring and fine-tuning your servers and network will help to ensure that your IIS-based Web site operates at peak efficiency.

Optimizing IIS
Microsoft * 206-882-8080
Web: http://www.microsoft.com

Related Content:

ARTICLE TOOLS

Comments
    There are no comments to display. Be the first one!
You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.