Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3349067
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: 系统运维

2006-12-13 09:35:15

resin 的优化

1. Resin启动时通过bin目录下的wrapper.pl文件进行控制,我们可以修改这个文件来加一些参数,比如要加入Java的-Xms和-Xmx参数

    vi /usr/local/resin-2.1/bin/wrapper.pl
    找到并修改以下这行为:
    $JAVA_ARGS="-Xms512m -Xmx512m";

2. resin 的 X 选项有如下意义

The allocation of memory for the JVM is specified using -X options when starting Resin

(the exact options may depend upon the JVM that you are using, the examples here are for the Sun JVM).

JVM option passed to Resin Meaning
-Xms initial java heap size
-Xmx maximum java heap size
-Xmn the size of the heap for the young generation

Resin startup with heap memory options
unix> bin/httpd.sh -Xmn100M -Xms500M -Xmx500M
win> bin/httpd.exe -Xmn100M -Xms500M -Xmx500M install
win service> bin/httpd.exe -Xmn100M -Xms500M -Xmx500M -install

3. 具体格式

java -Xms
set initial Java heap size. default:Xms32m
java -Xmx
set maximum Java heap size. default:Xmx128m

set it like that:

java -Xms=32m -Xmx=256m
If the problem persist, increase Xmx more than 256 ( 512m for example )

3.1.  当不需要改动程序时,关闭java自动编译会更快些.

    
    加个属性
    batch="false"

3.2  $JAVA_ARGS="-server";

     据说java中的-server参数是让本地化编译更完全.

4. 对于线程的优化经验

     最近发现有人用黑客类工具恶意点击网站,或发送大量垃圾包,具体是什么不清楚,但是很明显是故意的,造成80端口无法正常访问,或访问速度极慢。
用netstat -an >>c:\temp\aaa.txt 命令查看了当时情况,发现某几个ip的连接数量巨大,是不正常的。
     不管是访问量大,还是有黑客骚扰,我想还是试试看把resin优化一下。
     首先要在访问量巨大的时候进行观察。
     先将resin.conf文件中的thread-min,thread-max,thread-keepalive三个参数设置的比较大,分别写上, 1000,3000,1000,当然这是根据你的机器情况和可能同时访问的数量决定的,如果你的网站访问量很大的,应该再适当放大。
     然后观察任务管理器中的java线程变化情况,看看到底是线程达到多大的时候,java进程当掉的。我的是在379左右当掉。
     然后将thread-min,thread-max,thread-keepalive分别写为150,400,300;,也就是将当掉的时候的最大值稍微放大点,作为thread-max的值,因为该系统一般不会超过这个值。然后其他两个参数根据情况设置一下。
     这只是我的估计值,根据机器性能和访问量不同,应该有所不同。
     然后将accept-buffer-size值设置的较大,我设置到10000以上,这样可以让java能使用到更多的内存资源。
     这样的设置基本上能够满足resin的正常运行,当掉resin服务的情况大大减少,本设置适合于中小型网站。

5.Resin.conf配置参数说明

1、 HTTP服务相关

1) e:\EGovStd 设置wwwroot路径

2) 设置HTTP服务端口,如果是内嵌式在其它HTTP SERVER上运行,请删除此行。

2、 session相关

1) 800 session超时时间(单位:分钟)

2) true 是否使用cookies

3) WEB-INF/sessions 使用文件方式保存session在WEB-INF/sessions目录下。(注:该参数可避免由于class文件更新后,session会丢失的问题)

3、 jsp和servlet相关配置

1) 设置解析jsp的服务端口。(注:如果同一台机器运行不同目录下的resin,应保持该端口不重复)

2)

Settings


com.newtouch.common.setting.SettingsServlet

设置configFile参数的值为E:\EGovStd\web-inf\conf\init.conf

-2147483646




    在resin启动时自动装载com.newtouch.common.setting.SettingsServlet

3)

watch.WatchQServlet mapping后的servlet名称

com.newtouch.egov.watch.WatchQServlet 实际的servlet名称





           watch.WatchQServlet


           /servlet/watch.WatchQServlet

        


4、 数据库缓冲池

(注:关于时间的单位默认为秒,s为秒,m为分钟,h为小时)



  jdbc/egovstd 数据源名称

  javax.sql.DataSource 数据源类型

  JDBC驱动名称

  JDBC的连接URL

  连接数据库的用户名称

  该用户的密码

  缓冲池最大连接数

  数据库连接最大空闲时间

  数据库连接最大活动时间

  数据库连接在数据缓冲池的最大存在时间

  数据库连接等待时间


阅读(808) | 评论(0) | 转发(0) |
0

上一篇:resin优化

下一篇:servlet 设置超时连接

给主人留下些什么吧!~~