The following tunables are used for IBM SPECweb99/SPECweb99_SSL submittals. The following tunables are the descriptions and defauts values. Refer to a particular submission for a detail tunable values. ------------------------------------------------------------ Zeus global parameter tunables: listen_queue_size Size of the TCP listen queue. This is the second argument that gets passed to the listen() system call. Default 256 so_rbuff_size If set, we will set the socket option so_rbuff_size on the server socket. This will also affect the size of the socket buffers in all accepted() sockets. The value is the size of the socket buffer in bytes. Default not-set so_wbuff_size If set, the size to set the socket write buffer to be. The larger this is the greater the amount of data swallowed on every write() request. In theory, bigger buffers should give better performance. Default not-set so_nagle_off Disable nagle on each request. Note this is only done on the second (keepalive) HTTP request along any one TCP connection. While not technically necessary, can offer a performance boost on 'brain-dead' TCP stacks (which is most of them!). Default yes multiple_accept Try and do multiple accept() calls when we get a read bit on the server socket from a poll()/select(). Default yes maxaccept The maximum number of accept() calls to perform per server socket per poll()/select(). Default 32 unique_bind If you have multiple child processes and multiple IP addresses, then have each child bind to a unique IP address, instead of having every child process connections from each interface. On a multi-CPU machine with multiple network interfaces, having one child per network interface can reduce OS contention (as only one process is ever using it) and give a good performance boost. See the bindaddr tunable below for how to set a single virtual server to listen to multiple IP addresses. Default no bind_any Have server sockets that are bound to IPADDR_ANY. This option is mutually exclusive to unique_bind. Default yes use_poll Use poll() instead of select(). Default yes maxfds The maximum number of file descriptors to set by setrlimit(). People using the sendfile() cache should increase the parameter as far as their OS will allow. Default 16384 cache_files The size (number of files) of the web server file cache. Default 8011 cache_small_file Max size of a 'small' file in bytes. Default 4096 cache_large_file Min size of a 'large' file in bytes. Default 1048576 cache_stat_expire Number of seconds to cache the response of a stat() call for. Default 17 cache_max_bytes Maximum number of bytes to reserve for cached files. A value of 0 means no limit (i.e. only the cache_files limit above is applied and files are discarded with the cache_flush_interval value below). Default 33554432 cache_flush_interval Any cached file that hasn't been accessed for longer than this value in seconds is discarded by the web server, even if the cache isn't full. Default 120 tuning!accelerator!frca!log enable frca-log. Once the frca-log.N reaches 1GB, a new frca-log.N+1 is generated for static requests. tuning!accelerator!frca!log!format frca'log format is CLF (Common Log Format ). tuning!accelerator!frca!maxsize maxsize file for frca is 1048576 tuning!accelerator!frca!minsize minsize file for frca is 100 tuning!sendfile_maxsize maxsize file for sendfile is 1048576 tuning!sendfile_minsize minsize file for sendfile is 100 tuning!sendfile_reservedfd reserved 31993 file descriptors tuning!modules!ssld!library the name of the crypto library with which to run. If this is not present, then do not run the ssld runner. tuning!modules!ssld!ica_lib the location of the PKCS#11 opencryptoki library tuning!modules!ssld!nworkers number of threads in the ssl thread pool (0 means accept compile-time default, 128 at time of writing) tuning!modules!ssld!queuelen queue length for the ssl thread pool (0 means accept compile-time default, 128*4 at time of writing) tuning!modules!ssld!failurecount the number of successive zeus.ssld failures the web server will tolerate before fall back to software permanently, set to 0 so the web server will never fall back to software permanently, and always try to contact zeus.ssld first, default 5) Network Options (no) tuning: ---------------------------- tcp_sendspace The tcp_sendspace attribute must specify a socket buffer size less than or equal to the setting of the sb_max attribute. The default is 16384. tcp_sendspace is a runtime attribute, but for daemons started by inetd, the following command needs to be executed: 'stopsrc -s inetd ; startsrc -s inetd' tcp_recvspace Specifies the system default socket buffer size for receiving data. This affects the window size used by TCP. Setting the socket buffer size to 16KB (16,384) or above improves performance over Standard Ethernet and token-ring networks. The default is a value of 4096; however, a value of 16,384 is set automatically by the rc.net file or the rc.bsdnet file (if Berkeley-style configuration is issued). send_file_duration Specifies the cache validation duration for all the file objects that system call send_file accessed in the Network Buffer Cache. This attribute is in number of seconds; the default is 300 (5 minutes). A value of 0 means that the cache will be validated for every access. sb_max Specifies the maximum buffer size allowed for a socket. The default is 1048576 bytes. somaxconn Specifies the maximum listen backlog. The default is 1024 bytes. nbc_max_cache Specifies the maximum size of a cache object allowed in the Network Buffer Cache, in bytes. The default is 131072 bytes. Data objects bigger than this size won't be put in the NBC. nbc_pseg The maximum number of file entries in the private segment. The default is 0. tcp_timewait The tcp_timewait option is used to configure how long connections are kept in the timewait state. It is given in 15 second intervals, and the default is 1. tcp_newreno Enables the modification to TCP's Fast Recovery algorithm as described in RFC 2582. This fixes the limitation of TCP's Fast Retransmit algorithm to recover fast from dropped packets when multiple packets in a window are dropped. sack also achieves the same thing but sack needs support from both ends of the TCP connection; the NewReno modification is only on the sender side. This feature was added in AIX 4.3.3. In AIX 5.1 the default is on (1). delayack Delays ACKs for certain TCP packets and attempts to piggyback them with the next packet sent instead. This will only be performed for connections whose destination port is specified in the list of the delayackports attribute. This can be used to increase performance when communicating with an HTTP server. This attribute is available only in AIX 4.3.2 and beyond. The attribute can have one of four values: 0 No delays; normal operation 1 Delay the ACK for the server's SYN 2 Delay the ACK for the server's FIN 3 Delay both the ACKs for the SYN and FIN delayackports Specifies the list of destination ports for which the operation defined by the delayack port option will be performed. The attribute takes a list of up to ten ports, separated by commas and enclosed in curly braces. To clear the list set the option to {}. tcp_inpcb_hashtab_sz Increase TCP PCB hash table size. no -o tcp_inpcb_hashtab_sz: set to 128021, default is 24499 frcactrl pctonintr The frcactrl command controls and configures the FRCA kernel extension. The kernel extension must be loaded before starting any WEB servers that want to use FRCA. frcactrl pctonintr : frca set to allow 100% cpu time on interrupt, default 90 frcactrl revaltimeout The frcactrl command controls and configures the FRCA kernel extension. The kernel extension must be loaded before starting any WEB servers that want to use FRCA. frcactrl revaltimeout: Set frca revalidation timeout to 100,000 seconds, default=300 seconds Virtual memory manager tunable option: -------------------------------------- maxfree: Specifies the number of frames on the free list at which page stealing is to stop. This number can range from 16 to 204800 but must be greater than the number specified by the minfree parameter by at least the value of maxperm: Specifies the point above which the page stealing algorithm steals only file pages. The value is expressed as a percentage of the total real-memory page frames in the system. The specified value must be greater than or equal to one and less than or equal to 100. The default value of the maxperm percentage is (TOTAL_RAM - 4MB)*0.8 or around 75-80% of memory. The default maxperm value in pages is also equal to ((number of total memory frames)-1024)*0.8. minperm: Specifies the point below which the page-stealer will steal file or computational pages regardless of repaging rates. This value is a percentage of the total real-memory page frames in the system. The specified value must be greater than or equal to one and less than or equal to 100. The default value of the minperm percentage is (TOTAL_RAM - 4MB)*0.2 or around 20% of memory. The default minperm value in pages is also equal to ((number of total memory frames)-1024)*0.2. lgpg_size Specifies the size in bytes of the hardware-supported large pages used Default: 0 Range: 0 or 268435456 (on non-POWER4), or 0 or 16777216 (on POWER4). lgpg_region must of be set to a non-zero value in addition to this parameter. This will improve performance in the case where there are many TLB misses and large amounts of memory is being accessed. lgpg_regions Specifies the number of large pages reserved for large page usage. Default: 0 Range: 0 - number of pages. lpgpg_size must also be used in addition to this option. This will improve performance in the case where there are many TLB misses and large amounts of memory is being accessed. Input/Output tunables: ---------------------- maxpgahead: Specifies th maximum number of pages to be read ahead. This value can range from 0 to 4096. It should be greater than or equal to minpgahead. The default value is 8. minpgahead. The delta between minfree and maxfree should always be equal to or greater than maxpgahead. Ethernet Device Driver Attributes: ---------------------------------- copy_bytes Copy packet from system memory to Gigabit Ethernet Adapter if this many or less bytes, default=2048 intr_rate Maximum number of receive interrupts per second that the adapter will generate txdesc_que_sz Transmit descriptor queue size, default=8192 rxbuf_pool_sz Receive descriptor queue size, default=1024