性能较好的Tomcat 配置文件内容

<Context>
<Resource name="jdbc/pgsql" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://10.14.196.190:5432/foo"
username="sdbadmin"
password="sdbadmin"
factory="org.apache.tomcat.jdbc.pool..DataSourceFactory"
maxActive="600"
maxIdle="600"
minIdle="600"
initialSize="400"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="1800000"
removeAbandoned="true"
removeAbandonedTimeout="180"
testOnBorrow="true"
maxWait="300000"
logAbandoned="true"
testOnReturn="false"
validationQuery="SELECT 1"
/> <ResourceLink global="jdbc/pgsql"
name="jdbc/pgsqlDB"
type="javax.sql.DataSource"
/> </Context>

Resource 重要参数说明:
factory 使用哪种连接池的库
maxActive 连接池的最大连接上限
maxIdle 最大空闲连接数,空闲的连接如果超过 minEvictableIdleTimeMillis 参数设置的值,空闲连接将被释放
minIdle 最小空闲连接数
initialSize 初始化连接数
timeBetweenEvictionRunsMillis 多长时间去检查一次连接池的空闲连接,并且发现空闲连接的空闲时间超过了 minEvictableIdleTimeMillis 设置时间后,直接将空闲连接断开,直到空闲连接数为 minIdle 数为止
minEvictableIdleTimeMillis 这个参数要和 timeBetweenEvictionRunsMillis 参数混合使用
removeAbandoned 是否清理超过 removeAbandonedTimeout 设置时间的活动连接
removeAbandonedTimeout 活动连接的最大空闲时间
testOnBorrow 从连接池中借出连接前,是否对该连接进行正确性校验,连接正常才会出池,如果连接已经失效,将会把失效连接清除,并且重新申请新的连接。该参数可以保证成功借出的连接都是处于活动状态。该参数必须要和 validationQuery 参数配合使用,如果 validationQuery 参数为空字符串,该参数将不生效。
maxWait 连接池用完后,申请新连接的等待时间
logAbandoned 连接池回收空闲的活动连接时是否打印日志
testOnReturn 将连接返回连接池时,是否对该连接进行正确性校验,如果连接失效,将清除该连接,如果连接正常,则回池。该参数必须和 validationQuery 参数配合使用。默认值为 false
validationQuery 探测连接健壮性的模板SQL

老的tomcat 连接池的配置,性能不好

<Context>
<Resource name="jdbc/pgsql" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://10.14.196.190:5432/foo"
username="sdbadmin"
password="sdbadmin"
factory="org.apache.tomcat.jdbc.pool..DataSourceFactory"
maxActive="1000"
maxIdle="-1"
minIdle="600"
initialSize="500"
timeBetweenEvictionRunsMillis="0"
removeAbandoned="true"
removeAbandonedTimeout="1000"
/> <ResourceLink global="jdbc/pgsql"
name="jdbc/pgsqlDB"
type="javax.sql.DataSource"
/>
</Context>

该配置的问题
maxIdle 设置-1 是错误,tomcat 会报告该参数大于maxActive ,然后设置为与 maxActive 相同的值
timeBetweenEvictionRunsMillis 由于没有设置 validationQuery 参数,所以不生效
removeAbandoned 由于没有设置 validationQuery 参数,所以不生效
removeAbandonedTimeout 由于没有设置 validationQuery 参数,所以不生效

Tomcat 连接池调优的更多相关文章

  1. tomcat线程池调优

    之前项目一直在tomcat下开发,后来在上线之前,需要进行性能安全测试,可是测试的同事反应,登陆口线程并发一多的时候,系统立马就没法登陆了. 中间件是tomcat6.  tomcat的日志总是简洁的很 ...

  2. Tomcat 连接池详解

    (转) JDBC 连接池 org.apache.tomcat.jdbc.pool 是Apache-Commons DBCP连接池的一种替换或备选方案. 那究竟为何需要一个新的连接池? 原因如下: Co ...

  3. Tomcat连接池配置与实现/JNDI

    方法一: 在Tomcat的conf/context.xml中配置在Tomcat\apache-tomcat-6.0.33\conf目录下的context.xml文件中配置默认值如下: <?xml ...

  4. Linux 跟踪连接netfilter 调优

    Netfilter介绍 linux内核中的netfilter是一款强大的基于状态的防火墙,具有连接跟踪(conntrack)的实现.conntrack是netfilter的核心,许多增强的功能,例如, ...

  5. DB数据源之SpringBoot+MyBatis踏坑过程(七)手动使用Tomcat连接池

    DB数据源之SpringBoot+MyBatis踏坑过程(七)手动使用Tomcat连接池 liuyuhang原创,未经允许禁止转载  系列目录连接 DB数据源之SpringBoot+Mybatis踏坑 ...

  6. Tomcat系列(9)——Tomcat 6方面调优(内存,线程,IO,压缩,缓存,集群)

    核心部分 内存 线程 IO 压缩 缓存 集群 一.JVM内存优化 Tomcat内存优化,包括内存大小,垃圾回收策略. Windows 下的catalina.bat,Linux 下的catalina.s ...

  7. 【多处摘抄】Tomcat监视与调优

    文章摘抄大量内容,已附上摘抄地址,未找到最初博文作者,在此对原作者表述感谢:    最近调整了公司的Web容器,然后把项目转移到了idea,并且重新分了包,我以前很多重复的东西整合了一下,但是最近线下 ...

  8. Tomcat+MySQL常见调优参数

    一.Tomcat 调优 (一).Tomcat内存优化 参数一: vim /tomcat/bin/catalina.sh CATALINA_OPTS="-server -Xms128m -Xm ...

  9. JVM的常用的调优策略和垃圾回收算法及Tomcat的常用调优参数

    jvm调优主要针对堆内存,堆内存分为:新生区.养老区和永久区 永久区存放的是系统jdk自身的interface和class的元数据,所以唯有新生区和养老区具有优化空间. 新生区:伊甸区和幸存者区.所有 ...

随机推荐

  1. 前后端通吃的单元测试---mocha

    git clone https://github.com/shenggen1987/mocha-demo.git npm install front 前台测试代码 backend 后台测试代码 先安装 ...

  2. Javascript - ERR_CONTENT_LENGTH_MISMATCH

    不知道做了什么,有两天没有跑vue项目啦,今天突然出现加载脚本的时候出现 ERR_CONTENT_LENGTH_MISMATCH这个错误, 所以我去搜索了一下  找到如下答案  http://stac ...

  3. spring IOC(转)

    原文 http://stamen.iteye.com/blog/1489223 引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础 ...

  4. java基础以及操作Excle

    今天把会经常用的几个集合的迭代方法又练习了一下,放在这里,经常复习! map集合迭代 /*** 迭代map[1]*/ for (Integer key : map.keySet()) {//迭代key ...

  5. 电脑设备对于IT人员,犹如武器对于士兵

    本人做了多年Softwarer,写些感受. 比我们早的老一代程序员更是用自己的健康总结了一些经验. 先说关于健康方面: 程序员要长期坐着,这对健康损害很大,颈椎腰椎,心肺能力都会衰减.以前只是听说,自 ...

  6. MPEG学习

    Mpeg:moving picture experts group 移动图片专家组 导入:Mpeg技术在我理解就是我们对音视频信息的一个输出标准.主要包括MPEG-1.MPEG-2.MPEG-4.MP ...

  7. hdu-4989 Summary(水题)

    题目链接: Summary Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) P ...

  8. PowerDesigner 把Comment写到name中 和把name写到Comment中

    在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文.Name用来显 示,Code在代码中使用,但Comment中的文字会保 ...

  9. 《The challenge of realistic music generation: modelling raw audio at scale》论文阅读笔记

    The challenge of realistic music generation: modelling raw audio at scale 作者:Deep  mind三位大神 出处:NIPS ...

  10. bzoj3680

    $模拟退火$ $这种全局最优的问题用模拟退火$ $模拟退火就是每次向四周随机移动,移动的幅度和温度成正比,如果新的位置更优就接受,否则按一定概率接收,概率和温度成正比$ $最后稳定后再在最优解附近蹦跶 ...