Previous     Contents     Index     DocHome     Next     
iPlanet Web proxy Server 3.6 Administrator's Guide - NT Version



Chapter 15   Tuning Server Performance


This chapter explains how to tune your server's performance using the online forms as well as the configuration files. It also provides recommendations for performance tuning. By tuning your server's performance parameters, you can optimize the speed and efficiency of your proxy server.



Using Timeouts Effectively



Timeouts have a significant impact on server performance. Setting the optimal timeout for your proxy server will help to conserve network resources.


Proxy Timeout

The proxy timeout tells the server how long to wait before aborting an idle connection. A high proxy timeout value commits a valuable proxy process to a potentially dead client for a long time. A low timeout value will abort CGI scripts that take a long time to produce their results, i.e. a database query gateway.

To determine the best proxy timeout for your server, you should consider these issues:

  • Will your proxy be handling many database queries or CGI scripts?

  • Will your proxy server be handling a small enough amount of requests that it can spare a process at any given time?

If you answered yes to the above questions, then you may decide to set a high proxy timeout value. The highest proxy timeout value recommended by iPlanet is 1 hour. You can view or modify the proxy timeout value on the System Specifics form. You can access this form by choosing Server Preferences|System Specifics from the Server Manager.



Controlling Up-To-Date Checks



For the sake of performance, it is not recommended that you configure your proxy server to check if a cached document is up-to-date each time that document is requested. Frequent up-to-date checks may unnecessarily consume network resources. Therefore, you may not want to have your server perform up-to-date checks all of the time. To improve the server's performance while ensuring that a document is up-to-date, choose a reasonable document lifetime in conjunction with the last-modified factor. For more information on the last-modified factor, see Setting the Last-modified Factor.

iPlanet recommends an up-to-date check range between 8 and 24 hours.

For more information on controlling up to date checks, see Chapter 10 "Caching."


Setting the Last-modified Factor

The last-modified factor is a fraction which is multiplied by the interval between a document's last modification and the time that the last up-to-date check was performed on the document. The resulting number is compared with the time since the last up-to-date check. If the number is smaller than the time interval, the document is not expired. The last-modified factor allows you to ensure that recently changed documents are checked more often than old documents.

iPlanet recommends a last-modified factor between 0.1 and 0.2. For more information on setting the last-modified factor, see Chapter 10 "Caching."



Using DNS Effectively



DNS (Domain Name Service) is the system used to associate standard IP addresses with host names. This system can tie up valuable proxy resources if not configured wisely. To optimize the performance of DNS:

  • Do not log client DNS names

    You can disable client DNS name logging by choosing Server Status|Log Preferences from the Server Manager and deselecting the radio button for recording client domain names. For more information on logging client domain names, see Setting Access Log Preferences.

  • Log only client IP addresses

    You can enable client IP address logging by choosing Server Status|Log Preferences from the Server Manager and selecting the radio button for recording client IP addresses. For more information on logging client IP addresses, see Setting Access Log Preferences.

  • Disable reverse DNS

    Reverse DNS translates an IP address into a host name. You can disable reverse DNS by choosing Server Preferences|System Specifics from the Server Manager and selecting the "No" radio button for Enable DNS.

  • Avoid access control based on client host names.

    Use clients' IP addresses instead, if possible. You can configure access control by choosing Server Preferences|Restrict Access from the Server Manager. For more information on access control, see Chapter 6 "Controlling Access to Your Server."



Using SOCKS Effectively

Using the socks5.conf file, you can determine the number of worker and accept threads your SOCKS server uses. These numbers will influence the performance of your SOCKS server.


Worker threads

Worker threads perform authentication and access control for new SOCKS connections. If the SOCKS request is granted, the worker thread passes the connection to the I/O thread which passes the data outside the firewall.

If the SOCKS server is too slow, you should increase the number of worker threads. If it is unstable, decrease the number of worker threads. When changing the number of worker threads, you should start at the default number and increase or decrease as necessary.

The default number of worker threads is 40, and the typical number of worker threads falls between 20 and 150. The absolute maximum number of worker threads is 512, however, having more than 150 tends to be wasteful and unstable.


Accept Threads

Accept threads sit on the SOCKS port listening for new SOCKS requests. They pick up the connections to the SOCKS port and hand each new connection to a worker thread.

If the SOCKS server is dropping connections, you should increase the number of accept threads. If it is unstable, decrease the number of accept threads. When changing the number of accept threads, you should start at the default number and increase or decrease as necessary.

The default number of accept threads is 40, and the typical number of accept threads falls between 20 and 60. The absolute maximum number of accept threads is 512, however, having more than 60 tends to be wasteful and unstable.



Optimizing Cache Architecture



You can improve the performance of your server by architecting your cache wisely. Some suggestions to keep in mind when architecting your cache are:

  • Distribute the load

  • Use multiple proxy cache partitions

  • Use multiple disk drives

  • Use multiple disk controllers

Proper cache setup is critical to the performance of your proxy server. The most important rule to remember when laying out your proxy cache is to distribute the load. Caches should be set up with approximately 1 GB per partition and should be spread across multiple disks and multiple disk controllers. This type of arrangement will provide faster file creation and retrieval than is possible with a single, larger cache. For more information on setting up your cache, see Chapter 10 "Caching"

The Cache Batch Update feature in iPlanet Web Proxy Server allows you to proactively download content from a specified web site or perform scheduled up-to-date checks on documents already in the cache. This gives you the ability to cache content in large quantities at times when traffic on the server is low. Use batch updates to download the most commonly accessed sites at the end of each business day for quick access the following morning. You can use the log files to help determine which sites are frequently accessed. For more information on batch updates, see Using Cache Batch Updates.


Previous     Contents     Index     DocHome     Next     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated March 28, 2001