SPECweb99 Tuning Disclosure for Solaris 8 releases. See also: http://docs.sun.com/?p=/doc/816-0607 =========================================================================== SUT: =========================================================================== Tunables in /etc/system: sq_max_size description: The depth of the syncq (number of messages) before a destination streams queue generates a QFULL. minimum: 1 maximum: 0 (unlimited) default: 2 rlim_fd_max description: "Hard" limit on file descriptors that a single process can have open. minimum: 1 maximum: MAXINT default: 1024 rlim_fd_cur description: "Soft" limit on file descriptors that a single process can have open. minimum: 1 maximum: rlim_fd_max default: 256 autoup description: Controls the frequency in seconds of entire physical memory to be scaned for dirty pages minimum: 1 maximum: MAXINT default: 30 maxpgio description: Max number of page I/O requests that can be queued by the paging system. This number is divided by 4 to get the actual maximum used by the paging system. minimum: 1 maximum: 1024 default: 40 segmap_percent description: Size of kernel segmap segment (a section of memory used by the kernel for general purpose use) as a percentage of physical memory. minimum: 1 (or 2 Mbytes of physical memory) maximum: 99 (or 256 Gbytes of physical memory for 64bit OS) default: 12 pcisch:pci_stream_buf_enable description: Enable the system to use the streaming I/O cache on the PCI bus controller(s) for DMA transfers. This parameter is a bit-field where each PCI bus device instance maps to the corresponding bit position. minimum: 0 maximum: 0xffffffff default: 0xffffffff (streaming cache enabled on all PCI busses) tcp:tcp_conn_hash_size description: Controls the hash table size in an IP module for all active (in ESTABLISHED state) TCP connections. Should be a power of 2. minimum: 512 maximum: 2,147,483,648 default: 512 =========================================================================== SNCA: =========================================================================== Tunables in /etc/system: nca_conn_hash_size description: Controls the hash table size in the NCA module for all TCP connections. Adjusted to nearest prime number. minimum: 0 maximum: 201326557 default: 383 nca_conn_req_max_q description: The maximum number of pending TCP connections for NCA to listen on. minimum: 0 maximum: 4,294,967,295 default: 256 nca_conn_req_max_q0 description: The maximum number of incomplete (three-way handshake not yet finished) pending TCP connections for NCA to listen on. minimum: 0 maximum: 4,294,967,295 default: 1024 ncaurihash_sz description: Controls the URI hash table size in the NCA module for all cacheable HTTP requests. Must be a prime number. minimum: 0 maximum: 4,294,967,295 default: 8053 ncavnodehash_sz description: Controls the vnode hash table size in the NCA module for all cacheable HTTP requests. Must be a prime number. minimum: 0 maximum: 4,294,967,295 default: 12281 nca_ppmax description: Maximum amount of physical memory (in pages) used by NCA. minimum: 1% of physical memory maximum: limited by amount of physical memory default: 25% of physical memory nca_vpmax description: Maximum amount of virtual memory (in pages) used by NCA. minimum: 1% of virtual memory maximum: limited by amount of virtual memory default: 25% of virtual memory nca_ppthresh description: The threshold in pages to control when to stop using the default kernel memory allocator minimum: 0 maximum: MAXINT default: 4 Tunables using /usr/sbin/ndd: /dev/nca:nca_max_cache_size description: Maximum size of a unix file that will be cached by NCA. minimum: 0 maximum: 4,294,967,295 default: 10000000 /dev/nca:nca_use_segmap description: Controls whether NCA uses the kernel segmap to share physical pages for Unix files. minimum: 0 maximum: 1 default: 0 (NCA caches files using private pages) /dev/nca:nca_http_keep_alive_timeout description: Time (in milliseconds) after which an innactive keepalive connection will be closed. minimum: 0 maximum: 4,294,967,295 default: 15000 (15 seconds) =========================================================================== CLIENT: =========================================================================== Tunables in /etc/system: sq_max_size description: The depth of the syncq (number of messages) before a destination queue generates a QFULL. minimum: 1 maximum: 0 (unlimited) default: 2 hires_tick description: Enable the system to use a higher resolution clock - 1 millisecond. minimum: 0 maximum: 1 (1 millisecond clock) default: 0 (10 millisecond clock) rlim_fd_max description: "Hard" limit on file descriptors that a single process can have open. minimum: 1 maximum: MAXINT default: 1024 rlim_fd_cur description: "Soft" limit on file descriptors that a single process can have open. minimum: 1 maximum: rlim_fd_max default: 256 Tunables using /usr/sbin/ndd: /dev/tcp:tcp_smallest_anon_port description: The smallest value of an anonymous TCP source port. minimum: 1024 maximum: 65535 default: 32768 /dev/tcp:tcp_time_wait_interval description: The time in milliseconds a TCP connection stays in TIME_WAIT state. minimum: 1 second maximum: 10 minutes default: 4 minutes =========================================================================== NETWORKING: =========================================================================== Tunables in /etc/system: ge:ge_intr_mode description: Enable the GE driver to send packets directly to the upper communication layers rather than queueing. minimum: 0 maximum: 1 default: 0 (Queue packets to upper layers) ge:ge_dmaburst_mode description: Enable infinite burst mode for PCI DMA transactions rather than use cache-line size PCI DMA transfers. This feature supported only on Sun platforms with the UltraSparc III cpu. minimum: 0 maximum: 1 default: 0 (Use cache-line size transfers for PCI DMA) ge:ge_tx_fastdvma_min description: Mininum packet size to use fast dvma interfaces rather than standard dma interfaces. minimum: 59 maximum: 1500 default: 1024 ge:ge_nos_tmds description: Number of transmit descriptors used by the driver. minimum: 512 maximum: 8192 default: 512 ge:ge_tx_bcopy_max description: Maximum packet size to use copy of buffer into premapped dma buffer rather than remapping. minimum: 60 maximum: 256 default: 256 ge:ge_nos_txdvma description: Number of dvma buffers for transmit. minimum: 256 maximum: 8192 default: 256 ge:ge_tx_onemblk description: packet with more mblks than ge_tx_onemblk to be copied into one mblk minimum: 1 maximum: any default: 2 ge:ge_pci_intr_blank_time description: Number of clock ticks to wait since last receive interrupt asserted. minimum: 0 maximum: 255 default: 6 ce:ce_bcopy_thresh description: Maximum packet size to use copy of buffer into premapped dma buffer rather than remapping. minimum: 60 maximum: 256 default: 256 ce:ce_dvma_thresh description: Mininum packet size to use fast dvma interfaces rather than standard dma interfaces. minimum: 59 maximum: 1500 default: 1024 ce:ce_taskq_disable description: Disables the use of task queues - asynchronous kernel task threads - such that receive packets can be forced go to upper communication layers in interrupt context. minimum: 0 maximum: 1 default: 0 (Enable asynchronous task thread to queue receive packets) ce:ce_ring_size description: The number of descriptors for the receive buffer ring. Must be a power of 2. minimum: 2 maximum: 8192 default: 128 ce:ce_comp_ring_size description: The number descripters for the receive completion ring. Must be a power of 2 and should by 4 * ce_ring_size minimum: 8 maximum: 8192 default: 512 ce:ce_tx_ring_size description: The number of descriptors for the transmit buffer ring. Must be a power of 2. minimum: 2 maximum: 8192 default: 256 Tunables using /usr/sbin/ndd: /dev/ce:rx_intr_time description: Number of clock ticks to wait since last receive interrupt asserted. minimum: 3 maximum: 524287 default: 3 Tunables using device driver configuration files: See also man pages for driver.conf(4) and pci(4). /platform/sun4u/kernel/drv/ce.conf:interrupts=; description: A PCI bus device driver property consisting of a single integer element array where each element of the array represents a hardware interrupt used by that device. minimum: 1 maximum: 4 default: 4 (for /dev/ce) Rev 4 - 06/18/02