欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

比如说使用了CMS 劳务派遣管理系统 GC后经过jprofiler的观察

点击: 次  来源:劳务派遣管理系统 时间:2018-01-25

原文出处: 袁鸣凯

一、总结前一天的进修

从“第三天”的机能测试一节中,我们得知了抉择机能测试的几个重要指标,它们是:

  • 吞吐量
  • Responsetime
  • Cpuload
  • MemoryUsage
  • 我们也在第三天的进修中对Apache做过了必然的优化,使其最优化上述4大焦点指标的读数,那么我们的Apache调优了,我们的Tomcat也作些相应的调解,当完成今的课程后,到时你的“小猫”到时真的会“飞”起来的,所以请用心看完,这篇文章一方面用来向那位曾写过“Tomcat如何遭受1000个用户”的作都的敬,一方面又是这篇原文的一个扩展,因为在把原文的常识用到相关的两个大工程中去后办理了:

    1.  遭受更大并发用户数
    2. 取得了精采的机能与改进(系统平均机能晋升达20倍,极度一个生意业务达80倍)。

    别的值的一提的是,我们其时工程里用的“小猫”是跑在32位机下的, 也就是我们的JVM最大受到2GB内存的限制,都已经跑成“飞”了。。。。。。假如在64位机下跑这头“小猫”。。。。。。各人可想而知,会获得什么样的结果呢?下面就请请具体的配置吧!

    二、一切基于JVM(内存)的优化

    2.1 32位操纵系统与64位操纵系统中JVM的比拟

    我们一般的开拓人员,根基用的是都是32位的Windows系统,这就导致了一个严重的问题即:32位windows系统对内存限制,下面先来看一个较量的表格:

    操纵系统

    操纵系统位数

    内存限制

    办理步伐

    Winxp

    32

    4GB

    超等兔子

    Win7

    32

    4GB

    可以通过配置/PAE

    Win2003

    32

    可以打破4GB达16GB

    必必要装win2003 advanced server且要打上sp2补丁

    Win7

    64

    无限制

    呆板能插几多内存,系统内存就能支持到多大

    Win2003

    64

    无限制

    呆板能插几多内存,系统内存就能支持到多大

    Linux

    64

    无限制

    呆板能插几多内存,系统内存就能支持到多大

    Unix

    64

    无限制

    呆板能插几多内存,系统内存就能支持到多大

    上述问题办理后,我们又遇到一个新的问题,32位系统下JVM对内存的限制:不能打破2GB内存,纵然你在Win2003 Advanced Server下你的呆板装有8GB-16GB的内存,而你的JAVA,只能用到2GB的内存。

    其实我一直很想推荐各人利用Linux可能是Mac操纵系统的,并且要装64位,因为必竟我们是开拓用的不是打游戏用的,而Java源自Unix归于Unix(Linux只是运行在PC上的Unix而己)。

    所以许多开拓人员运行在win32位系统上更有甚者在出产情况下城市布署win32位的系统,那么这时你的Tomcat要优化,就要考究点能力了。而在64位操纵系统上无论是系统内存照旧JVM都没有受到2GB这样的限制。

    Tomcat的优化分成两块:

  • Tomcat启动呼吁行中的优化参数即JVM优化
  • Tomcat容器自身参数的优化(这块很像ApacheHttp Server)
  • 这一节先要讲的是Tomcat启动呼吁行中的优化参数。

    Tomcat首先跑在JVM之上的,因为它的启动其实也只是一个java呼吁行,首先我们需要对这个JAVA的启动呼吁行举办调优。

    需要留意的是:

    这边接头的JVM优化是基于Oracle Sun的jdk1.6版有以上,其它JDK可能低版本JDK不合用。

    2.2 Tomcat启动行参数的优化

    Tomcat 的启动参数位于tomcat的安装目次\bin目次下,假如你是Linux操纵系统就是catalina.sh文件,假如你是Windows操纵系统那么你需要窜改的就是catalina.bat文件。打开该文件,一般该文件头部是一堆的由##包裹着的注释文字,找到注释文字的最后一段如:

    # $Id: catalina.sh 522797 2007-03-27 07:10:29Z fhanik $
    
    # -----------------------------------------------------------------------------
    
    
    # OS specific support. $var _must_ be set to either true or false.

    敲入一个回车,插手如下的参数