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
连接数据库的用户名称
该用户的密码
缓冲池最大连接数
数据库连接最大空闲时间
数据库连接最大活动时间
数据库连接在数据缓冲池的最大存在时间
数据库连接等待时间
阅读(886) | 评论(0) | 转发(0) |