SPECweb99 Tuning Disclosure: For Digital UNIX 5.1A --------------------------------------------------- Sysconfigtab Parameters: proc: max-per-proc-address-space - max-per-proc-data-size - Maximum values for the current limits of the attributes per-proc-address-space and per-proc-data-size. The current limits can be increased at run time by means of the setrlimit(2) system call or the ulimit(3) C library call. The current limits cannot be expanded beyond the values established by the "max-per-proc-*" attributes. Default value: max-per-proc-address-space = 1073741824 max-per-proc-data-size = 4398046511104 max-proc-per-user - The maximum limit of processes (tasks) a user can create. Zero indicates unlimited. (The superuser is not affected.) Default value: 64 max-threads-per-user - The maximum limit of threads a user can create. (The superuser is not affected.) Default value: 256 per-proc-address-space - per-proc-data-size - The current upper limits of the respective resources. For example, a user address space cannot exceed the size set by the per-proc-address-space attribute. Default value: per-proc-address-space = 1073741824 per-proc-data-size = 4398046511104 socket: umc - Enables (1) or disables (0) the Unified Mbuf Cache (UMC) Default value: 0 sominconn - Minimum value for socket listen queue length limit (backlog). Silently overrides user-specified backlog when the user backlog is less than than the value of this attribute. Takes precedence over the somaxconn attribute. Default value: 0 somaxconn - Maximum value for socket listen queue length limit (backlog). Silently overrides user-specified backlog when the user backlog is greater than the value of this attribute. The sominconn attribute takes precedence. Default value: 1024 inet: ipqmaxlen - Maximum length of the IP input queue (ipintrq) before input packets are dropped. Default value: 1024 (bytes) ipqs - Number of IP processing queues. Default value: 1 tcbhashnum - Number of primary TCP hash table entries. Default value: 1 tcbhashsize - Sets the TCP control block hash table size. Default value: 32 tcp_sendspace - Default send buffer size, in bytes, for TCP sockets. Default value: 61440 (bytes) net: netisrthreads - Number of network threads configured in a system. Default value: n (Based on the number of CPUs in a system. netisrwakeupthreshold - Number of packets (packet threshold) above which another netisr thread is started. Default value: 1 (packet) vm: vm_swap_eager - Specifies the swap allocation mode, which can be immediate mode (1) or deferred mode (0). Default value: 1 (immediate mode) vfs: name-cache-hash-size Size of the hash chain table for the namei cache. Default value: 256 slots namei-cache-valid-time Amount of time a namei cache entry can remain in the cache before it is discarded. Default value: 1200 (seconds) advfs: AdvfsCacheMaxPercent - The percentage of system memory that is allocated to the AdvFS buffer cache, which stores file data. Default value: 7 (percent) AdvfsCacheHashSize - Size of hash table for Advfs buffer cache. Default based on AdvfsCacheMaxPercent. alt: minimal_isr A value that enables (1) or disables (0) the awakening of separate threads by the driver's interrupt service routine to handle completion of transmit and receive operations. When separate worker threads are enabled, the system load of the Gigabit Ethernet driver can be spread over multiple CPUs. When separate worker threads are disabled, the mas- ter system CPU (or the master CPU in each RAD of a NUMA system) ser- vices all the transmit and receive operations for the system's Gigabit Ethernet adapters. Default: 1 (multiple threads enabled) recv_coal The number of packets that are sent before an interrupt is generated (assuming that the recv_ticks timer does not expire first). Default: 32 (packets) recv_ticks The number of microseconds (usec) that elapse after receipt of the last packet before an interrupt is generated (assuming that the recv_coal threshold is not reached first). Default: 200 (usec) send_coal The number of packets that are sent before an interrupt is generated (assuming that the send_ticks timer does not expire first). Default: 32 (packets) send_ticks The number of microseconds (usec) that elapse after transmission of the last packet before an interrupt is generated (assuming that the send_coal threshold is not reached first). Default: 125,000 (usec) Kernel (vmunix) tuning using Spike: Spike is a tool that performs feedback-based code optimization on programs. To optimize the kernel a profile was taken using the Continuous Profiling Infrastructure (DCPI) tool while running a static HTTP workload (DYNAMIC_CONTENT=0, USER_LINE_SPEED=200000, USER_SPEED_LIMIT=160000). Commands used: dcpid -vkprof -vtrace /usr/lib/dcpi/vp-ldlatency.so /usr/users/spec/DCPI/dcpidb sleep 300 dcpiquit dcpi2bb -make_bbdb -counts -pm all -conf_low -load_lat -epoch latest vmunix spike -kernel vmunix -o vmunix_spike -feedback vmunix -splitThresh .999 \ -optThresh .999 Zeus 3.3 Tuning: ------------------ For details on the Zeus tuning parameters used please see: http://support.zeus.co.uk/faq/entries/ful.html#tuning.html The following tunables are the Zeus global parameters (global.cfg) used in Compaq Alphaserver results: tuning!bind_any Boolean: have server sockets bind to IPADDR_ANY default = yes tuning!cache_files Size of the web server file cache (number of files) default = 8011 tuning!cache_flush_interval Time after which unaccessed files are flushed from the cache (seconds) default = 120 tuning!cache_large_file Minimum size of a "large" file (bytes) default = 1048577 tuning!cache_max_bytes Maximum size to reserve for cached files (bytes) (0=nolimit) default = 33554432 tuning!cache_small_file Maximum size of a "small"file (bytes) (system page size) default = 4096 tuning!cache_stat_expire Time for which the response of a stat() call is cached (seconds) default = 17 tuning!num_children Number of child zeus.web processes to run independent of the number of CPUs (the default, however, is set to 1 per CPU initially) default = <#cpus> tuning!so_wbuff_size Size of the socket write buffer (bytes) default = tuning!softservers Enable 'software' virtual servers default = yes tuning!unique_bind Force each child process to bind to a unique IP address, and not to each interface default = no tuning!use_poll Boolean: use poll() instead of select() default = yes tuning!cache_cooling_time Zeus imposed delay before caching recently modified files starts (seconds) default = 120 tuning!cbuff_size Integer: cgi buffer size default = 8192