共计 961 个字符,预计需要花费 3 分钟才能阅读完成。
【现象】:应用响应慢,被监控脚本重启;应用负载低、访问压力小。
【原因分析】:
1、使用 netstat -na|wc - l 查看连接数, 连接数正常
2、使用 kill -3 PID, 查看生成的 jvm_xxx.log,看 java 正在做什么,看是否正常
如:
化妆品库, 在应用被监控脚本重启前生成的 jvm LOG 中有如下信息
统计发现,有 230 多个线程都在运行此任务;
Resin 只配置了 256 个线程,这个请求占用的线程过多,Resin 没办法去处理别的请求,引起请求超时。
3、这些请求是什么,为什么会这么多呢,从业务上查看了解到,这个请求是化妆品库这个应用去请求快搜的一个接口(使用 httpclient 方式),把拿回来的数据进行格式化后在前台显示。
4、Httpclient 方式,每个请求都需要占用一个线程,当一个请求完成后线程才会被重用,当被调用的系统响应较慢时,会导致调用它的应用本身的线程占用过多,没资源提供其它服务。
【解决方案】:
调整应用使用 httpclient 方式调用其它资源的方法,改为别的方式或增加缓存减少调用次数。
Resin 是 CAUCHO 公司的产品,是一个非常流行的支持 servlets 和 jsp 的引擎,速度非常快。Resin 本身包含了一个支持 HTTP/1.1 的 WEB 服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼 APACHE SERVER。许多站点都是使用该 WEB 服务器构建的。
Resin 的详细介绍 :请点这里
Resin 的下载地址 :请点这里
相关阅读 :
Linux Resin 安装配置 http://www.linuxidc.com/Linux/2013-06/86092.htm
Nginx+Resin 高性能 Java 平台搭建 http://www.linuxidc.com/Linux/2012-12/77078.htm
搭建 Web 服务器(JDK+Nginx+Resin 整合)http://www.linuxidc.com/Linux/2012-08/69197.htm
Resin 服务器使用 cookie 注意事项 http://www.linuxidc.com/Linux/2012-09/70595.htm
CentOS 5 安装 Resin 4 http://www.linuxidc.com/Linux/2012-08/67277.htm