转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
EAServer Performance Tuning Techniques         ★★★★

EAServer Performance Tuning Techniques

作者:闵涛 文章来源:闵涛的学习笔记 点击数:14252 更新时间:2009/4/22 23:10:00

This document provides an overview of ways to improve performance for EAServer applications. It includes suggestions for server-level and component properties, and for design and coding practices.

There are many variables involved for application throughput and response times. In addition to tweaking the code in your application for optimum performance, you can tune EAServer based on application specifics as well.

But where do you start? What parameters are available? How will changing them affect performance? This paper can serve as a guide to give you a point of reference to start from. As such, there is no silver bullet given, but rather a comprehensive look at what performance tuning is available in EAServer.

Some of the material presented here only applies to EAServer 4.1+, although much of it applies to older versions as well. Be sure to check the EAServer documentation for the version you are using for clarifications and additional details.

Section 1 General EAServer Tuning
Section 2 EAServer Clusters
Section 3 Components

  • General
  • Service
  • java">Java
  • EJBs
  • Web (JSPs and Servlets)
  • C++
  • C
  • ActiveX
  • PowerBuilder
Section 4 Message Service
Section 5 Client Applications
Section 6 Protocols
Section 7 Web server redirector plug-ins
Section 8 Database Access
Section 9 Web Services Toolkit
Section 10 System-Level Tuning and Sizing
Section 11 Runtime Monitoring
Section 12 PowerDynamo
Section 13 Localization
Section 14 Development Environment

With the exception on Section 14, these suggestions focus on improving performance in a production environment.

All of these recommendations are general guidelines. Results may vary depending on the design of your application, hardware and network configuration, and other factors. For best results, you should monitor and measure performance as you fine-tune the configuration and application.

 

Section 1: General EAServer Tuning

This section contains suggestions to help improve overall performance of EAServer, regardless of the type of components, features implemented, or business logic used. Follow these suggestions for every EAServer installation.

Category Performance Considerations More Information HTTP Request Logging By default, EAServer logs information about every HTTP request made. To improve the speed at which requests are served, you can disable the HTTP request log. "HTTP Config", and "HTTP logging and statistics" in EAServer System Administration Guide HTTP Threads

The HTTP thread settings allow you to balance memory resources. A maximum value set too high needlessly uses memory resources. To tune this setting, monitor the total number of hits listed in the httpstat.dat file for indications of a heavily loaded server, and adjust the maximum thread setting as necessary.

Setting this number too high will result in thrashing, with many threads waiting for a slice of CPU time. As a general guideline, consider a limit of 100 clients per CPU on Solaris, and 75 clients per CPU on Windows.

· com.sybase.jaguar.server.http.maxthreads
· com.sybase.jaguar.server.http.numthreads

Section 10 System-Level Tuning and Sizing

"HTTP Config" in EAServer System Administration Guide

IIOP Connections The com.sybase.jaguar.server.maxconnections property should be set to accommodate the number of IIOP connections you expect. By default, this property is set to 30, which is probably too small for most production applications. "Configuring a Server" in EAServer System Administration Guide Maximum Server threads The com.sybase.jaguar.server.maxthreads property specifies the total number of combined HTTP and IIOP threads. As a general guideline, set this property as follows:
[http.maxthreads] + [server.maxconnections] + [50 extra]

Extra threads are needed for service components, thread manager and message service. If you are not calculating precisely, a guideline is to add another 50 threads.

Important Note: See component Bind Thread property -- components with this setting require twice as many threads.

"Configuring a Server" in EAServer System Administration Guide Server stack size

Stack size determines how many client requests can be served simultaneously. If there are a large number of clients utilizing the server, you may want to reduce the default stack size, which is the amount of memory reserved for the call stack associated with each thread.

For Unix, set the stack size using the com.sybase.jaguar.server.stacksize property.
For NT you need to modify the jagsrv.exe using editbin.

"Configuring server stack size" in EAServer System Administration Guide JVM Heap Size

You can specify the minimum and maximum JVM heap size with com.sybase.jaguar.server.jvm.maxHeapSize and com.sybase.jaguar.server.jvm.minHeapSize

(This property is valid for any version of the JVM)

"Repository Properties Reference" in EAServer System Administration Guide

Memory Management within Java Processes

JVM 1.3 Flags These flags are specific to JDK 1.3, and are added using the EAServer property com.sybase.jaguar.server.jvm.options.

NT & Solaris flags

  • -Xms - minimum heap size
    Always increase the -Xms to a reasonable size (such as at least 64m) so the JVM does not have to spend time allocating memory.

     

  • -Xmx - maximum heap size
    If you have the memory to spare, set -Xms to the same size as -Xmx.
    (Note: On Solaris, the maximum value for -Xmx is 4g. In order to use the maximum value on Solaris, check shmmax in /etc/system that
    shmsys:shminfo_shmmax=0xffffffff

     

  • Garbage Collection (GC)
    These flags are for tuning the Garbage Collections memory allocations and are highly dependent on the behavior of your application. They should only be set after collecting statistics on the GC behavior of your application.

     

    • -XX:NewSize - minimum size of the young generation
    • -XX:MaxNewSize - maximum size of the young generation
    • -XX:NewRatio - ratio between young and old generation
    • -XX:SurvivorRatio - ratio of survivor space with respect to young generation, there are 2 survivor spaces in the young generation

       

    • Setting NewSize and MaxNewSize to each other bounds the size of the young generation like -Xms and -Xmx for the heap size. NewRatio is a more coarse level option to do the same thing. The SurvivorRatio is set to 25 by default and should be sufficient. You should set the NewSize and MaxNewSize to half the size of -Xmx if you observe a lot of regular GCs happening and want to delay a full GC as much as possible. Your application will run more smoothly for the majority of the time and you only pay for the one full GC instead of many GCS throughout your application.

       

    • -XX:ThreadStackSize
      If you know that EAServer will be creating a lot of threads, like when servicing a lot of clients or doing operations like creating a lot of objects or beans, then it might be of benefit to lower the stack size so that they don't take up a lot of heap. Try setting to 128k or 64k(min) to see if that will cause less GCS and help with performance.

Solaris-Only flags

教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台