Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide
검색에만이 책은
이 책의 내용보기:
PDF로 이 문서 다운로드 (2440 KB)

Tuning TCP Settings on Solaris 10 Systems

On Solaris 10 systems, the simplest way to tune TCP settings is to create a simple SMF service as follows:

  • Create an SMF profile for Directory Server tuning.

  • Edit the following xml file according to your environment and save the file as /var/svc/manifest/site/ndd-nettune.xml.

    <?xml version="1.0"?>
    <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/ service_bundle.dtd.1">
    <!--
        ident    "@(#)ndd-nettune.xml    1.0    04/09/21 SMI"
    -->
    
    <service_bundle type='manifest' name='SUNWcsr:ndd'>
    
    <service
        name='network/ndd-nettune'
        type='service'
        version='1'>
    
    			<create_default_instance enabled='true' />
    
    			<single_instance />
    
    		<dependency
            name='fs-minimal'
            type='service'
            grouping='require_all'
            restart_on='none'>
    			<service_fmri value='svc:/system/filesystem/minimal' />
    		</dependency>
    
    		<dependency
            name='loopback-network'
            grouping='require_any'
            restart_on='none'
            type='service'>
    			<service_fmri value='svc:/network/loopback' />
    		</dependency>
    
    		<dependency
            name='physical-network'
            grouping='optional_all'
            restart_on='none'
            type='service'>
    			<service_fmri value='svc:/network/physical' />
    		</dependency>
    
    		<exec_method
            type='method'
            name='start'
            exec='/lib/svc/method/ndd-nettune'
            timeout_seconds='3' />
    		</exec_method>
    
    		<exec_method
                   type='method'
                   name='stop'
                   exec=':true'
                   timeout_seconds='3' >
    		</exec_method>
    
    		<property_group name='startd' type='framework'>
    			<propval name='duration' type='astring'  value='transient' />
    		</property_group>
    
    		<stability value='Unstable' />
    
    		<template>
    			<common_name>
    				<loctext xml:lang='C'>
    					ndd network tuning
    				</loctext>
    			</common_name>
    			<documentation>
    				<manpage title='ndd' section='1M'
                    manpath='/usr/share/man' />
    			</documentation>
    		</template>
    
    </service>
    
    </service_bundle>
  • Before you import the ndd-nettune.xml configuration, verify that the syntax is correct. You can do this by running the following command:


    $ svccfg validate /var/svc/manifest/site/ndd-nettune.xml
  • Import the configuration by running the following command:


    $ svccfg import /var/svc/manifest/site/ndd-nettune.xml

    For more information see the svccfg(1M) man page.

  • Copy the following shell script into /lib/svc/method/ndd-nettune.

    #!/sbin/sh
    #
    # ident   "@(#)ndd-nettune.xml    1.0     01/08/06 SMI"
    
    . /lib/svc/share/smf_include.sh
    . /lib/svc/share/net_include.sh
    
    # Make sure that the libraries essential to this stage of booting  can be found.
    LD_LIBRARY_PATH=/lib; export LD_LIBRARY_PATH
    echo "Performing Directory Server Tuning..." >> /tmp/smf.out
    /usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 1024
    /usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval 600000
    /usr/sbin/ndd -set /dev/tcp tcp_ip_abort_cinterval 10000
    /usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 60000
    
    
    # Reset the library path now that we are past the critical stage
    unset LD_LIBRARY_PATH
  • Run svcadm to enable nettune (for more information, see the svcadm(1M) man page).

  • Run svcs -x (for more information see the svcs(1) man page).