`

Nginx+resin调优文档

阅读更多

http://blog.liuts.com/post/204/

 

 

 为什么不选择Apache/mod+resin?
       前面一直使用该模式,mod_caucho暴露源码的bug一直未得到彻底的解决。因此切换到Nginx+resin平台。硬件上要求除了内存一定要足够大(建议>4G),无其它要求(当然也不能太破,呵呵sweat)。操作系统强烈要求安装64位,32位操作系统jvm只能识别不到2G的内存,印象中是1.57G(单实例应用)。下面总结自己的一些调优方法及配置。

调优硬件环境


CPU:Intel Xeon*2(双核)
MEM:8G
SWAP:1G


一、测试32系统所支持的最大可用内存
java -XmxXXXXM -version
不断加大-Xmx的大小,截止到出现以下提示:
Could not create the Java virtual machine.

二、Nginx配置


   location / {
     root /var/www/app.cn;
     index index.jsp;
     proxy_pass http://localhost:8080;
     include /usr/local/nginx/conf/proxy.conf;
   }

   location ~* \.(jsp|do|shtml)$ {
     root /var/www/app.cn;
     index index.jsp;
     include /usr/local/nginx/conf/proxy.conf;
     proxy_pass http://localhost:8080;
     proxy_set_header X-Real-IP $remote_addr;
   }


      以代理的方式进行整合,静态文件继续由Nginx来解析,扩展名为jsp|do|shtml才丢给后端resin来处理。即使resin发现的故障,前端最多只会报500、502 time out的信息。

三、resin配置

1、jvm的优化
#vi $resin_root/bin/httpd.sh

  1. args="-Xmx6048m -Xms6048m -Xmn2g -Xss128k -XX:NewSize=256m -XX:MaxPermSize=512m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -Dsun.net.inetaddr.ttl=60"  


    1.1、Xmx与Xms建议配置一致,避免每次垃圾回收完成后JVM 重新分配内存。预留2G左右的内存空间给Nginx与OS就差不多了。
    1.2、Xmn配置成Xmx的1/3。
    1.3、Dsun.net.inetaddr.ttl=60,java对DNS解析域名结果进行缓存,默认超时时间为-1(在重启JVM前永久缓存),如有涉及域名解析失效需修改该值。

2、resin并发数限制
免费的resin是没有pro的授权,并发连接数(默认512)配置参数不可见。因此通过修改源码达到突破限制的目的。
1、修改方法:
    1.1、下载resin3.0.22源码;
    1.2、修改resin-3.0.22/modules/resin/src/com/caucho/server/port/Port.java


            // default timeout
            private long _timeout = 65000L;
            private int _connectionMax = 512;修改成20480
            private int _minSpareConnection = 16;
            private int _keepaliveMax = -1;
            private int _minSpareListen = 5;
            private int _maxSpareListen = 10;


    1.3、将编译后的Port.class覆盖原 /lib/resin.jar包。

2、可以从resin-status结果得到证实
点击在新窗口中浏览此图片
                                                       [编译前]
---------------------------------------------------------------------------------------------------------------------------
点击在新窗口中浏览此图片
                                                       [编译后]

3、resin.conf配置

  1. <dependency-check-interval>-1</dependency-check-interval>   


生产环境建议关闭自检查 ,原因是会消耗系统一定资源及部分更新会出现不可意料的错误。

  1. <!-- Maximum number of threads. -->   
  2. <thread-max>20480</thread-max>   


建议与private int _connectionMax参数保持一致。

       其它参数需根据应用的具体情况来调整,如长链接超时等。以上为本人整理一些调优笔记,如有遗漏或纠正请与我联系。

Tags: resin , 调优
kim
2010/09/04 16:36
我的thread上到2000,基本上就假死了。
刘天斯 回复于 2010/09/05 19:54
跟应用有很大的关系。
陈子
2010/07/19 15:25
location / {
     root /var/www/app.cn;
     index index.jsp;
你看下面这句?
     proxy_pass http://localhost:8080;
     include /usr/local/nginx/conf/proxy.conf;
   }
刘天斯 回复于 2010/07/19 19:55
这两行可以去掉。
陈子
2010/07/18 19:24
nginx配置里把所有的都透传给resin了呀?
刘天斯 回复于 2010/07/18 20:09
不是的,只是jsp、do、shtml扩展名,静态文件还是由Nginx负责处理。
分页: 1/1 第一页 1 最后页
分享到:
评论

相关推荐

    泛微ecology nginx+resin集群部署手册

    泛微 ecology nginx+resin集群部署说明文档,详细讲解ecology 集群部署的实施方式方法及步骤。

    Nginx+Resin

    标题 "Nginx+Resin" 指的是在Web服务器场景中,使用Nginx作为反向代理和负载均衡器,与Resin应用服务器配合使用的一种架构模式。这种组合通常用于提高网站性能,优化资源分配,以及实现高可用性和可扩展性。接下来,...

    resin+nginx+使用说明文档

    【标题】"resin+nginx+使用说明文档" 涉及的是两个常见的Web服务器软件——Resin和Nginx的结合使用。Resin是一款Java应用服务器,它提供了高效的Servlet和JSP支持;而Nginx则是一款高性能的HTTP和反向代理服务器,以...

    Apache + nginx + resin 详细配置

    总结,Apache+nginx+resin的配置涉及到多层服务器的协同工作,这种架构可以充分利用每个组件的优势,提供高效且可扩展的Web服务。正确配置和理解这些组件的交互是实现这一目标的关键。在实际部署中,还需要考虑负载...

    nginx+keepalived文档使用

    nginx+keepalived使用文档.nginx+keepalived使用文档.

    Nginx+KeepAlived+Tomcat负载架构

    ### Nginx+KeepAlived+Tomcat负载架构详解 #### 一、概述 随着互联网应用的日益增多,单一服务器已经难以满足高并发、高可用性的需求。因此,越来越多的企业开始采用集群技术来提高系统的稳定性和扩展性。本文将...

    Nginx+Uwsgi+Django+Vue部署

    Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑

    Nginx+tomcat+redis

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构充分利用了每个组件的优势,以实现高效的数据处理、动态内容渲染和负载均衡。以下是对这套技术栈的详细解释: 1. **...

    nginx+resin+memcache介绍-整合

    ### Nginx、Resin与Memcache整合介绍 #### Nginx概述 Nginx是一款由俄罗斯工程师Igor Sysoev开发的轻量级HTTP服务器软件。它以其高性能、稳定性和资源消耗低等特点,在Web服务器领域占有一席之地。Nginx支持事件...

    Nginx++Keepalived+Tomcat负载均衡&动静分离

    Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    windows服务器部署 nginx+tomcat+mysql服务器端部署 阿里云服务器部署及配置

    详细说明了windows服务器nginx+tomcat+mysql部署及配置(配置阿里云后台安全组,配置域名)很适合新手学习 附件中包含: 1.操作说明文档 2.操作录屏 3.安装所用到的软件安装包 1)Windows Server 2019 数据中心版 ...

    linux+nginx+php+mysql环境配置指南.pdf

    "Linux+Nginx+PHP+MySQL环境配置指南" 本指南将指导您如何安装和配置 Linux+Nginx+PHP+MySQL 环境,以便于构建一个功能完善的 Web 服务器。 安装 Red Hat Linux 在开始安装 Linux 之前,需要选择语言和键盘布局。...

    Nginx+RTMP 推拉流集群方案

    Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...

    泛微 e-cology9 nginx+resin集群部署手册

    为了提高系统的可用性和性能,通常会采用集群部署的方式,而在此过程中,Nginx 和 Resin 服务器的结合使用是非常常见的一种架构。Nginx 作为反向代理和负载均衡器,Resin 则作为应用服务器,负责处理业务逻辑。 一...

    nginx+keepalive使用文档

    nginx+keepalive使用文档,已读,亲测,完整,绝对超值。。。

    Nginx+tomcat配置集群负载均衡实例

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat"的组合常被用于实现这一目标。本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款...

    Nginx+Keepalived 主备集群拓扑图

    Nginx+Keepalived 组网主备集群网络拓扑图,欢迎下载

    nginx+lua+redis 集群 连接插件和脚本

    本资源包“nginx+lua+redis集群 连接插件和脚本”正是为了解决这三者之间的协同工作,特别是针对原插件没有密码功能的问题进行了改进,使得安全性得到了提升。 首先,Nginx是一款轻量级的Web服务器/反向代理服务器...

    基于vue+python+flask+uwsgi+nginx+mysql的外包项目网站项目源码.zip

    1、基于vue+python+flask+uwsgi+nginx+mysql的外包项目网站项目源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为...

Global site tag (gtag.js) - Google Analytics