- 浏览: 1088664 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (30)
- Spring (14)
- iBATIS (6)
- Hibernate (13)
- JVM (5)
- JSON (10)
- Ajax (5)
- Flex (1)
- JavaScript (25)
- PowerDesigner (4)
- 项目管理 (7)
- 数据库 (29)
- 生活 (18)
- 软件应用 (21)
- 无线技术 (2)
- Linux (39)
- TOP开发学习 (2)
- JAVA工具小TIPS (2)
- Java通用 (52)
- XML (3)
- 软件测试 (29)
- Maven (10)
- Jquery (1)
- 正则表达式 (3)
- 应用服务器 (15)
- Android (5)
- linux 和windowx 下 tomcat 设置JVM (8)
- 应用服务器 连接池 (4)
- Linux 后台输出中文乱码 (1)
- Hadoop (28)
- python (2)
- Kafka (7)
- Storm (5)
- Elasticsearch (7)
- fddd (1)
最新评论
-
kafodaote:
Kafka分布式消息系统实战(与JavaScalaHadoop ...
分布式消息系统Kafka初步 -
小灯笼:
LoadRunner性能测试实战课程网盘地址:http://p ...
LoadRunner性能测试应用(八) -
成大大的:
Kafka分布式消息系统实 ...
分布式消息系统Kafka初步 -
hulalayaha2:
Loadrunner性能测试视频教程下载学习:http://p ...
LoadRunner性能测试应用(八) -
993042835:
搞好 谢谢
org.hibernate.exception.ConstraintViolationException: could not delete:
resin配置文件: resin.conf
[size=1.25em]1、dependency-check-interval 参数调整
resin检查系统配置及java、jsp、resin.conf等文件的时间间隔。
默认值为2秒,适合开发及调试环境,如果是正式环境尽量把参数调大或者直接改为-1,不允许检查,也就是禁止了热部署。
<dependency-check-interval>-1s</dependency-check-interval>
如果设置为-1那么jsp也不更新了。不太好。
我就是这里设置成了-1.
[size=1.25em]2、缓存
改变cache-mapping的值:
<cache-mapping url-pattern="/" expires="5s"/>
<cache-mapping url-pattern="*.gif" expires="60s"/>
<cache-mapping url-pattern="*.jpg" expires="60s"/>
<cache-mapping url-pattern="*.png" expires="60s"/>
[size=1.25em]3、jvm优化
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
将-Xms和-Xmx设置为一样大小是不错的选择。
如: bin/httpd.sh -Xms500M -Xmx500M -Xmn100M
更多的关于jvm优化参数如:young generation、Eden generation、older generation可见
Sun documentation on garbage collection
jvm的监控,google一下有很多的工具,如:jconsole jstat jstack
jconsole的使用见我的另外一篇文章 《使用Jconsole对java的内存使用情况(JVM)进行监控》
$jps
1229 Jps
1003 Resin
973 resin.jar
$jmap 973
Attaching to process ID 973, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.5.0_16-b02
0x0000000040000000 64K /home/jdk1.5.0_16/bin/java
0x00000030b2a00000 127K /lib64/ld-2.5.so
0x00000030b2e00000 1647K /lib64/libc-2.5.so
0x00000030b3200000 22K /lib64/libdl-2.5.so
0x00000030b3600000 600K /lib64/libm-2.5.so
0x00000030b3a00000 138K /lib64/libpthread-2.5.so
0x00000030b5a00000 111K /lib64/libnsl-2.5.so
0x00002aaab46ad000 26K /home/jdk1.5.0_16/jre/lib/amd64/libmanagement.so
0x00002aaab49de000 79K /home/jdk1.5.0_16/jre/lib/amd64/libnet.so
0x00002aeeac3c1000 9933K /home/jdk1.5.0_16/jre/lib/amd64/server/libjvm.so
0x00002aeeacd46000 43K /home/jdk1.5.0_16/jre/lib/amd64/native_threads/libhpi.so
0x00002aeeace61000 52K /lib64/libnss_files-2.5.so
0x00002aeead06c000 58K /home/jdk1.5.0_16/jre/lib/amd64/libverify.so
0x00002aeead17b000 171K /home/jdk1.5.0_16/jre/lib/amd64/libjava.so
0x00002aeead2a5000 78K /home/jdk1.5.0_16/jre/lib/amd64/libzip.so
jstat -gc 1489 1000 3
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
43648.0 43648.0 0.0 0.0 262208.0 101390.5 699072.0 18545.6 28032.0 15756.6 1 0.055 1 0.115 0.170
43648.0 43648.0 0.0 0.0 262208.0 101390.5 699072.0 18545.6 28032.0 15756.6 1 0.055 1 0.115 0.170
43648.0 43648.0 0.0 0.0 262208.0 101390.5 699072.0 18545.6 28032.0 15756.6 1 0.055 1 0.115 0.170
jstack 1489
Thread 1495: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
- java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 (Interpreted frame)
Thread 1489: (state = IN_NATIVE)
- java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], int, int, int) @bci=0 (Interpreted frame)
- java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129 (Interpreted frame)
- java.net.SocketInputStream.read() @bci=23, line=182 (Interpreted frame)
- com.caucho.server.resin.Resin.waitForExit() @bci=304, line=1265 (Interpreted frame)
- com.caucho.server.resin.Resin.main(java.lang.String[]) @bci=42, line=1367 (Interpreted frame)
[size=1.25em]4、JNI加速
resin不使用NIO而是使用了JNI的方式使用本地码的方式来提升效率,经验证,resin使用JNI的效率要高于使用NIO,
使用JNI是需要对resin进行编译,在./configure时把jni编译进去,
./configure --enable-jni 美中不足的是Resin Professional版本才提供此项功能。
下面是resin-doc的说明:
Resin does not use NIO - it uses JNI to handlelow-level I/O calls with native code. The performance using this methodwas found to be much better than nio.
[size=1.25em]5、jsp第一次编译的处理
一般来讲,第一次访问jsp会自动进行编译,如果更新了过多的jsp、且系统访问很大的话,重启resin容易造成负载过高。
下面配置是启动app-server时,对所有的jsp进行编译,编译完毕后启动监听,这样启动时间会长一些,但是可以防止第一次访问编译造成系统负载大。
<listener>
<listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
<init>
<extension>jsp</extension>
<extension>jspx</extension>
</init>
</listener>
[size=1.25em]6、resin 与apache 性能的比较
resin3单独使用时性能也是不错,当然也可以跟apache配合使用。下面是resin-doc中的说法:
ForJSP and Servlets, Resin standalone is certainly faster thanResin/Apache. Because of the extra overhead of the Resin/Apacheconnection, the Resin/Apache configuration is necessarily slower thanResin standalone.
可以看出各有优劣,
apache对于静态页面来说比较快。如果使用了SSL,apache+resin要比resin单独使用快一些,更为重要的是resin3的开源版本不支持ssl。
[size=1.25em]7[size=1.25em][size=1.25em]、resin-server TIME_WAIT 过多的处理
thread-max指定了最大连接数,socket-timeout是socket超时时间
keepalive-max指定了长连接的数量,这是可以重复使用的连接,netstat -an时系统可以看到响应数量的ESTABLISHED状态
设定keepalive-max和把keepalive-timeout调小可以减少TIME_WAIT的数量。
<thread-max>256</thread-max>
<socket-timeout>65s</socket-timeout>
<keepalive-max>128</keepalive-max>
<keepalive-timeout>120s</keepalive-timeout>
一般来讲如果是Resin standalone方式,调整timeout并不是很重要,如果是apache+resin的方式,而且apache压力很大的情况下,需要调小timeout的值。
load-balance-idle-time是用来设置load-balance和分布式session的关闭时间,默认时间为keepalive-timeout - 1s
<load-balance-idle-time>100s</load-balance-idle-time>
[size=1.25em]8、关于watchdog
resin3启动是多了一个watchdog的进程。可以单独启动也可以跟随resin.jar一起启动,主要是用来监控resin jvm实例,在必要的时候重启。
<watchdog-jvm-arg>-Dcom.sun.management.jmxremote</watchdog-jvm-arg>
<watchdog-port>6600</watchdog-port>
查看 watchdog 状态
java -jar lib/resin.jar status
Resin/3.1.6 status for watchdog at 127.0.0.1:6600
server '' : active
password: missing
user: root
root: /home/resin/
conf: /home/resin/conf/resin.conf
来源:http://2hei.net/mt/2008/11/resin3-tuning.html
发表评论
-
搜索引擎爬虫蜘蛛的USERAGENT大全
2014-08-12 14:58 914搜索引擎爬虫蜘蛛的USERAGENT收集,方便制作采集的朋友 ... -
浏览器各自的userAgent特点做一分析-并给出判断方法
2014-08-12 14:57 1249不同设备浏览器的userAgent值大全[转] (2 ... -
浏览器userAgent大全
2014-08-12 14:56 3841转自个人博客 http://www.tarobjtu.co ... -
大量用户在线架构设计
2014-06-25 11:23 4901.4亿在线背后-QQ IM后台架构的演化与启示http:// ... -
在Myeclipse buildpath 加server lib
2013-03-02 19:35 1983在Myeclipse buildpath 加server l ... -
nginx+tomcat集群负载均衡(实现session复制)
2010-12-15 17:55 1003nginx+tomcat集群负载均衡(实现session复制) ... -
Nginx集群
2010-12-15 17:48 969Nginx集群 社区 新随笔 管理 <! ... -
resin.exe 应用程序正常初始化
2010-12-07 09:28 1433我是运行resin.exe 有这样的问题。 今天电脑准备运行 ... -
resin dependency-check-interval
2010-12-02 11:58 2183仔细观察resin.conf配置文件,不难发现。有些地方,值得 ... -
resin作为web服务器更新静态js文件,浏览器访问时还是显示旧的内容 转
2010-12-02 11:40 2196resin 文件不更新 resin作为web服务器更新 ... -
linux下启动resin 错误 [resin is an unknown user]
2010-11-04 22:07 1132java.lang.IllegalArgumentExcept ... -
struts+spring+hibernate+proxool配置
2010-11-04 15:35 756http://wt8414.iteye.com/blog/24 ... -
Resin 3.0.x 经验总结
2010-11-03 23:04 1224Resin 3.0.x 经验总结 我用的Resin版本 ... -
resin的配置优化
2010-11-03 15:11 1528下载resin源码包 : resin-3.0.18.tar.g ...
相关推荐
**Resin配置文件详解** Resin是一款高性能、轻量级的Java应用服务器,它支持Servlet、JSP、EJB以及Web服务等技术。在Resin的运行过程中,配置文件起着至关重要的作用,它们定义了服务器的行为、部署的应用程序、...
#### 三、Resin配置文件详解 ##### 1. resin.conf配置文件 - ****:设置HTTP监听端口为8080。 - ****:启用HTTPS支持,监听端口为8443。 - ****:定义虚拟主机,这里为主机名为“localhost”的配置。 - ****:设置...
### Resin 4.0 配置文件介绍与解析 #### 一、Resin 4.0 启动概述 **Resin 4.0** 是一款高性能的应用服务器,适用于部署 Java 应用程序。本章节主要介绍了 Resin 的启动过程、启动前的准备条件以及在不同操作系统上...
- 根据需要调整配置文件,例如 `httpd.sh` 或 `resin.conf`。 #### 四、Httpd.sh 参数配置详解 **1. 参数详解** - `-Xms`: 设置初始堆内存大小。 - `-Xmx`: 设置最大堆内存大小。 - `-XX:MaxNewSize`: 设置新生代...
Resin 3.1配置文件详解 Resin是一款高性能、轻量级的Java应用服务器,尤其在处理Web应用方面表现出色。它以其优秀的性能、稳定性以及易于管理的特性,深受开发人员的喜爱。本文将深入探讨Resin 3.1版本中的配置文件...
Resin 3.1 配置文件说明 Resin 3.1 配置文件是 Resin 服务器的核心组件之一,它负责管理和配置 Resin 服务器的各种设置和参数。本文将详细介绍 Resin 3.1 配置文件的结构和配置项。 一、配置文件结构 Resin 3.1 ...
Nginx简介 Nginx安装与调试 Nginx配置文件详解 Nginx与Resin
1. **复制配置文件**:将 Resin 安装目录下的 `resin.conf` 文件复制到一个安全的位置。例如,假设 Resin 安装在 `D:\resion\resin-pro-3.1.9\resin-pro-3.1.9\conf` 目录下,则可以将 `resin.conf` 复制到 `E:\...
1. **修改 Resin 配置文件**: - 打开 Resin 的配置文件 `resin.conf`,并在 `<http>` 节点内添加以下配置来启用 HTTPS: ```xml <certificate-file>keys/gryffindor.crt <certificate-key-file>keys/...
确保项目根目录下存在 `resin.conf` 文件,并且配置文件中的 jar 文件路径正确无误。例如,在 `resin.conf` 文件中,可以指定加载外部库的路径: ```xml ${resin.root}/ext-webapp-lib"/> ``` 以上...
### Resin配置详解 #### 一、Resin简介与配置 Resin是一款高效且功能强大的应用服务器,它支持多种Web应用技术,包括Servlet、JSP、HTTP服务等。Resin的特点在于其高度优化的设计,使其在处理高并发请求时表现出色...
- 设置`Configuration file`(配置文件)为`resin.xml`的完整路径,通常位于`resin-3.2.1\conf`目录下。 - 选择“Enable”单选按钮以启用Resin服务器。 - 设置JDK版本,推荐使用JDK 1.6。 ##### 2. 部署项目 - 在...
4. **修改Resin配置文件** 打开`resin.conf`文件,定位到`web-app`标签,将其修改为`<web-app id="/" document-directory="WebRoot"/>`。这指定了项目的根目录,确保Resin服务器能正确识别Web内容。 5. **创建JSP...
- `-conf "D:\resin-pro-3.1.12\conf\resin.conf"`:此参数指定了Resin的配置文件路径,确保服务器能够读取正确的配置信息。 - **VM arguments**: - `-Dresin.home="D:\resin-pro-3.1.12"`:设置Resin的主目录,...
### Apache+Resin配置详解 #### 一、引言 随着互联网技术的不断发展,Web服务器在企业级应用中的地位越来越重要。Apache作为一款开源、稳定且功能强大的Web服务器软件,被广泛应用于各种操作系统中,包括Windows、...
### Resin中的JNDI配置详解 在Java开发领域,JNDI(Java Naming and Directory Interface)是一个重要的概念,它为应用程序提供了一种查找和访问各种类型命名对象的方法,包括远程对象、数据库连接等。而Resin作为...
【标题】:“resin-1 resin服务器的组件详解” 【正文】: Resin服务器是一款高效、轻量级的Java应用服务器,尤其适用于处理高并发的Web应用。它由多个核心组件构成,使得其在性能、稳定性和扩展性上具有显著优势。...
app-default.xml配置文件详解 `app-default.xml`是Resin服务器的主要配置文件,用于定义全局默认设置。该文件通常包含以下关键配置项: - **Server配置**:定义服务器的基本属性,如服务器ID、监听端口、服务器...
- 配置集群:在resin.xml配置文件中,设置cluster元素,让各个Resin实例能够通信: ```xml <member host="resin1.example.com" port="8009"/> <member host="resin2.example.com" port="8009"/> <!-- ...