打印本文 打印本文 关闭窗口 关闭窗口
EAServer Performance Tuning Techniques
作者:武汉SEO闵涛  文章来源:敏韬网  点击数15441  更新时间:2009/4/22 23:10:00  文章录入:mintao  责任编辑:mintao
ideDefaultLibthread

In order to use the alternative thread library, follow these steps:

  1. add -XX:+OverrideDefaultLibthread to JVM options
  2. in shell: LD_LIBRARY_PATH=/usr/lib/lwp
    export LD_LIBRARY_PATH
  3. start EAServer

     

  • On Solaris 2.6, try using -XX:+UseLWPSynchronization to see if that helps as the alternative thread library is not available in 2.6

     

  • -XX+UseISM
    Intimate Shared Memory (ISM). ISM provides the benefit of having larger pages(4mb) and locking pages to memory. If you have enough memory to dedicate to EAServer, then turning on ISM could help performance. Be aware that ISM does not guarantee larger pages unless your system has been rebooted and there is enough contiguous physical memory to fulfill ISM needs.

    Requirements in /etc/system

    • 2.8:
      · set shmsys:shminfo_shmmax=0xffffffff
      · set shmsys:shminfo_shmseg=32
    • 2.6:
      · set shmsys:shminfo_shmmax=0xffffffff
      · set shmsys:shminfo_shmseg=32
      · set enable_grp_ism=1

       

  • -XX:-DisableExplicitGC
    Disable calls to explicit GC.

    EAServer calls System.gc() periodically. You can try disabling this to see if it will help GC performance. The System.gc called is just a hint, so turning on DisableExplicitGC might not do anything.

  • In-depth documentation of the flags is provided at java.sun.com/docs/hotspot/index.html">Performance Documentation for the Java HotSpot Virtual Machine JIT

    Allow Just-In-Time compiling (JIT) by setting the com.sybase.jaguar.server.jvm.nojit property to false. JIT converts Java bytecode into native machine code, which generally runs much faster than when the bytecode is executed by the interpreter.

    "Repository Properties Reference" in EAServer System Administration Guide

    java.sun.com/developer/onlineTraining/Programming/JDCBook/perf2.html#jit">Just-In-Time Compilers on Java Developer Connection

    HotSpot VM

    For improved performance, EAServer 4.0+ can run with JDK 1.3 and the Java HotSpot virtual machine. On some platforms, EAServer can also use the Java HotSpot VM with JDK 1.2.

    "Creating and Configuring Servers" in EAServer System Administration Guide

    java.sun.com/products/hotspot/whitepaper.html">Java HotSpot Performance Engine Architecture

    Tracing and Debugging

    Be sure all unnecessary tracing is off. This includes the server-level trace options for Attentions, Network Driver APIs, Network Driver Requests, Protocol Data, Protocol Headers, Servlets, JAAS Debug, JCM Trace.

    "Log/Trace", and "Repository Properties Reference" in EAServer System Administration Guide Static Page Caching

    EAServer 4.1+ supports caching of static content. Static page caching can increase performance by caching static files in memory. You can configure the cache size, which files are cached, and how long the cached content is stored.

    • Cache Size
      The default cache size is 10 megabytes, which should be sufficient for most uses unless an application includes a lot of static images/texts.

       

    • Cache timeout
      The default timeout is 10 minutes. Set this to a higher value when you know the static content being served does not change often.

       

    • Exclusion List
      Exclude-files are useful for turning off things that you know are used sparingly to ensure the cache stays relevant. You wouldn't want to inadvertently bump off 100 cached images because a request came in for a 5mb PDF that is only used once. See:
      • com.sybase.jaguar.server.http.cache.exclude-files
      • com.sybase.jaguar.server.http.cache.webapps.exclude-files
    "Static Page Caching", "Creating and Configuring Servers", and "Repository Properties Reference" in EAServer System Administration Guide Random Seed EAServer requires a random seed to initialize the random number generation used in cryptographic algorithms. The data used as the seed for the random number generation depends on your platform. You can set the JAGUAR_RANDOMSEED variable to improve EAServer performance without diminishing the randomness of the seeding data. "Operating system configuration" in EAServer System Administration Guide Classpath Check the classpath and bootclasspath in the the system environment and/or server start script to ensure that it is clean and that the order is appropriate  

    Section 2: EAServer Clusters

    Category Performance Considerations More Information Load Balancing Policy The Adaptive policy has more overhead than the other three policies, since it adjusts load based on metrics data. "Adaptive policy" in EAServer System Administration Guide Load Metrics

    You can set the intervals for metrics collection and distribution;

    Interval Default How often each server collects load metrics 5 seconds How often each server broadcasts it's metrics to other servers 5 minutes How often servers calculate and generate NLL of all member servers 10 minutes

    "Load metrics" and "Configuring load balancing" in EAServer System Administration Guide Number of cluster members Increased availability and load balancing can be achieved by adding more members and name severs into a cluster. However, the binding/rebinding and heartbeat detection times increase as the number of members/name servers in a cluster increases "Heartbeat detection" in EAServer System Administration Guide Heartbeat frequency

    Performance decreases as the frequency setting is set shorter, since it causes servers to ping each other more frequently. Ensure Heartbeat Frequency is set reasonably.

    "Heartbeat detection" in EAServer System Administration Guide Transient versus persistent storage Transient storage can help performance by reducing unnecessary client retries and failures in some scenarios. "Heartbeat detection" in EAServer System Administration Guide Cache synchronization options

    If the cluster includes components that enable object caching automatic persistence, you can choose one of four synchronization options for the caches; None (default), Mirror, Replicate, Invalidate.

    The Replicate and Invalidate options provide two alternative ways to replicate with transaction consistency, if you need to do so. Between the two, the Invalidate option may yield better performance if the component's state is large, and the cluster has many members.

    "Entity object and query caching", "Configure concurrency control" in EAServer Programmer's Guide Automatic failover for components You can mark selected components to support transparent automatic failover. If a client has an object reference for a component on a server in a cluster, the client's object reference will provide transparent failover, unless all the servers in the cluster fail. "Automatic failover" in EAServer System Administration Guide

     

    上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页

    打印本文 打印本文 关闭窗口 关闭窗口