Oracle iPlanet Web Proxy Server 4.0.14 Performance Tuning, Sizing, and Scaling Guide

Tuning UltraSPARC® T1–Based Systems for Performance Benchmarking

Use a combination of tunable parameters and other parameters to tune your system for performance benchmarking. These values are an example of how you can tune your system to achieve the desired result.

Tuning Operating System and TCP Settings

The following table shows the operating system tuning for Solaris 10 used when benchmarking for performance and scalability on UtraSPARC T1-based systems (64 bit systems).

Table 4–2 Tuning 64-bit systems for performance benchmarking

Parameter 

Scope  

Default Value 

Tuned Value 

Comments 

rlim_fd_max

/etc/system

65536 

260000 

Process open file descriptors limit; accounts for the expected load (for the associated sockets, files, pipes if any). 

hires_tick

/etc/system

 

 

sq_max_size

/etc/system

Controls streams driver queue size; setting to 0 makes it infinite so the performance runs are not hit by lack of buffer space. Set on clients too. Note that setting sq_max_size to 0 is not optimal for production systems with high network traffic.

ip:ip_squeue_bind

   

 

ip:ip_squeue_fanout

   

 

ipge:ipge_taskq_disable

/etc/system

 

 

ipge:ipge_tx_ring_size

/etc/system

 

2048 

 

ipge:ipge_srv_fifo_depth

/etc/system

 

2048 

 

ipge:ipge_bcopy_thresh

/etc/system

 

384 

 

ipge:ipge_dvma_thresh

/etc/system

 

384 

 

ipge:ipge_tx_syncq

/etc/system

 

 

tcp_conn_req_max_q

ndd /dev/tcp

128 

3000 

 

tcp_conn_req_max_q0

ndd /dev/tcp

1024 

3000 

 

tcp_max_buf

ndd /dev/tcp

 

4194304 

 

tcp_cwnd_max

ndd/dev/tcp

 

2097152  

 

tcp_xmit_hiwat

ndd /dev/tcp

8129 

400000 

To increase the transmit buffer. 

tcp_recv_hiwat

ndd /dev/tcp

8129 

400000 

To increase the receive buffer. 

Note that the IPGE driver version is 1.25.25.

Disk Configuration

If HTTP access is logged, follow these guidelines for the disk:

Network Configuration

If more than one network interface card is used, make sure the network interrupts are not all going to the same core. Run the following script to disable interrupts:


allpsr=`/usr/sbin/psrinfo | grep -v off-line | awk '{ print $1 }'`
   set $allpsr
   numpsr=$#
   while [ $numpsr -gt 0 ];
   do
       shift
       numpsr=`expr $numpsr - 1`
       tmp=1
       while [ $tmp -ne 4 ];
       do
           /usr/sbin/psradm -i $1
           shift
           numpsr=`expr $numpsr - 1`
           tmp=`expr $tmp + 1`
       done
   done

Put all network interfaces into a single group. For example:


$ifconfig ipge0 group proxyserver
$ifconfig ipge1 group proxyserver

Proxy Server Start Options

In some cases, performance can be improved by using large page sizes. To start the Proxy Server with 4 Mbytes pages:

LD_PRELOAD_32=/usr/lib/mpss.so.1 ; export LD_PRELOAD_32; export MPSSHEAP=4M; ./bin/startserv; unset LD_PRELOAD_32; unset MPSSHEAP