-
Mar14
-
一个比较大的应用,更新class的时候resin经常死掉,现在不得不在每次更新前停止resin服务,更新完了再开启。这个不是一个服务器应有的状态...太不稳定的。每次输入httpd stop的时候都很郁闷。
看到几个resin优化的信息,单机双JVM这个感觉有点意思,应该能解决现在的问题。先记录一下,白天测试。
1、-Xms/-Xmx参数
Resin启动时通过bin目录下的wrapper.pl文件进行控制,我们可以修改这个文件来加一些参数,比如要加入Java的-Xms和-Xmx参数
进行
vi /usr/local/resin-2.1/bin/wrapper.pl
找到并修改以下这行为:
$JAVA_ARGS="-Xms512m -Xmx512m";具体参数请根据自己的应用进行调节
2、单台Web Server+多个JVM
当有多台服务器时, 可以把负载均衡到一台Web Server和多个JVM上, 这比用路由器或防火墙实现负载平衡较为廉价,最主要的优点是采用Resin自己的负载平衡机制,可以保证使同一个session停留在同一台计算机上.
配置例子:
...
在各台机器上启动resin就可以了,Resin会对具体请求的Session进行编码,当同一个用户第二次请求时,会用同一台机器进行处理。
3、单机配置
单台机器上运行一个Web Server和两个JVM. 其中一个是主JVM, 另一个是备份JVM, 如果主JVM失效(服务中断或崩溃), 将启用后备JVM维持Servlet Engine仍然可用,在resin.conf中的相应配置例子如下:
...
启动时应该分别单独地启动这两个sun进程. 例如unix下:
linux> httpd.sh -pid srun1.pid -server a start
linux> httpd.sh -pid srun2.pid -server b start在NT下:
c:\resin1.2> bin/httpd -install-as ResinA -server a
c:\resin1.2> bin/httpd -install-as ResinB -server b但在启动后,只有6802接受处理请求,当6802的JVM失效时,Resin会自动将请求交给6803备份JVM处理。
4、集群
http://www.caucho.com/resin-3.0/config/tcp-sessions.xtpRelated posts:

Leave a comment | Trackback 这篇文章还没有评论.