今天把我做的WEB工程用压力测试工具测试测试了一下,WEB工程中用到了Proxool连接池,一测试,才发现simultaneous-build-throttle这个参数的重要。
这个参数的英文解释如下:
simultaneous-build-throttle:
This is the maximum number of connections we can be building at any one time. That is, the number of new connections that have been requested but aren't yet available for use. Because connections can be built using more than one thread (for instance, when they are built on demand) and it takes a finite time between deciding to build the connection and it becoming available we need some way of ensuring that a lot of threads don't all decide to build a connection at once. (We could solve this in a smarter way - and indeed we will one day) Default is 10.
是指在任一时刻,可以(同时)建立的最大连接数,也就是说,就是已经请求的、但还没可用的新连接数量。因为连接可以用多线程建立,从决定要建立连接到连接可用是需要一定时间的,所以我们需要一些方式来避免大量的线程想同时建立连接。(我们本应该找一个更聪明的方式来解决这个问题,总有一天我们会找到的)默认值是10
当我使用140个用户,进行压力测试时,发现偶尔,会有多于10个要求同时建立连接的请求,当请求数量超过限定的数值时,会出现连接失败的情况。
因此结论就是,当数据库并发连接可能会比较高的应用,这个值应该适当的设大一点。
再介绍一下其它重要几个参数,以前对这个几参数的作用似懂非懂,今天又花了点时间结合压力测试的结果琢磨了一下,感觉有点豁然开朗:
maximum-active-time:
If the housekeeper comes across a thread that has been active for longer than this then it will kill it. So make sure you set this to a number bigger than your slowest expected response! Default is 5 minutes.
如果一个线程活动时间超过这个数值,线程会被杀死。所以要确保这个数值设置得比最慢的响应时间长。默认是5分钟。守护进程会把连接池中多余的可用线程(未用的、超过这个时间的)杀死,最终保留的连接数量就是minimum-connection-count规定的数量。守护进程会根据house-keeping-sleep-time参数设置的时间隔定时检查。
maximum-connection-lifetime:
The maximum amount of time that a connection exists for before it is killed (milliseconds). Default is 4 hours.
指一个连接最大的存活时间(毫秒为单位),超过这个时间,连接会被杀死。默认值是4小时。
overload-without-refusal-lifetime:
This helps us determine the pool status. If we have refused a connection within this threshold (milliseconds) then we are overloaded. Default is 60 seconds.
这个参数帮助我们确定连接池的状态,如果在这个时间阀值内(单位为毫秒)拒绝了一个连接,就认为是过载了。默认值是60。
发表评论
-
hermes 监听hornetq JMS配置
2013-02-22 15:46 2008hermes 监听配置步奏 ... -
hibernate动态生成数据库脚本
2012-08-28 14:56 825Configuration cfg = new Configu ... -
Myeclipse注册码生成代码
2012-08-28 12:04 896package com.able.test; import ... -
portal启动参数配置
2011-12-29 11:39 1019-Xms768m -Xmn256m -Xmx1024m -Xs ... -
Java软件的安装与更新
2010-08-04 16:30 1003使用Java web start 和 JNLP技术部署应用 -
忘记root密码
2010-06-10 11:50 1136# /etc/init.d/mysql stop# mysql ... -
centos下安装mysql步骤
2010-05-21 11:33 5584一、下载MySQL5.0和相关pe ... -
PowerDesign高级应用
2009-12-22 17:29 1412PowerDesign高级应用 1、去掉Oracle ... -
mysql自启动命令
2009-12-02 14:54 34661 删除之前的MYSQL服务 sc delete mysq ... -
web应用中的Session机制
2009-11-30 21:31 1205目录: 一、术语session ... -
Apache Commons工具集
2009-11-19 16:42 797Apache Commons包含了很多开源的工具,用于解决平时 ... -
JTA事物管理
2009-11-17 09:20 1830Spring+iBatis+Atomikos实现JTA事务 ... -
Apache + Tomcat*2集群 负载平衡
2009-11-13 11:15 905说明:一台apache主机,两台tomcat主机 安装JDK ... -
sql group by排序问题
2009-11-06 10:04 4455mysql group by排序问题2009-08-28 16 ... -
powerdesigner12.5 入门教程
2009-10-26 13:11 11052powerdesigner12.5 入门教程 下载po ... -
MYSQl left join 联合查询效率分析
2009-10-20 20:28 1283MYSQl left join 联合查询效率分析 其他详细参 ... -
mysql导数据BUG(从高到低的解决办法)
2009-10-19 14:47 1043近日笔者工作中遇到MYSQL数据从高版本导入低版本的问题.这样 ... -
冒泡排序、选择排序、插入排序、反数组排序、快速排序
2009-09-17 14:16 1958import java.util.Random; /* ... -
php开源网址介绍
2009-09-17 12:37 4361[综合门户]PHPChina 开源社区门户 PHPChina ... -
入库算法
2009-09-16 19:47 1098String[] aa = {"1",&q ...
相关推荐
### Proxool连接池配置详解 #### 一、概述 Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,...
**Hibernate Proxool连接池配置详解** 在Java应用程序中,数据库连接池是管理数据库连接的一种高效方式,它可以显著提升系统性能,减少数据库资源的浪费。本文将深入探讨Hibernate与Proxool连接池的配置,以及在...
### Proxool连接池配置步骤详解 #### 步骤一:部署Proxool库与JDBC驱动 首先,确保项目环境中包含了Proxool库和对应的JDBC驱动。这通常涉及到将下载的Proxool库(lib下的所有jar文件)以及JDBC驱动放置到项目的`WEB...
**JSP与Proxool连接池的深度解析** 在Java Web开发中,数据库连接管理是一项重要的任务,它直接影响到应用程序的性能和资源利用率。`JSP`(JavaServer Pages)作为动态网页技术,常常需要与数据库进行交互。为了...
### Proxool连接池知识点详解 #### 一、Proxool连接池简介 Proxool是Logical Cobwebs公司开发的一款轻量级的JDBC连接池组件。它通过提供高效的数据库连接管理和复用机制来提高应用程序的性能。Proxool不仅支持多种...
【Proxool 连接池】是一个高效且可扩展的数据库连接池,它通过复用已存在的数据库连接,显著提高了数据库操作的性能。连接池管理数据库连接的分配、监控和释放,防止因未正确释放连接而导致的资源浪费。Proxool 设计...
下面我们将深入探讨Proxool连接池的使用、配置以及其核心概念。 **一、Proxool简介** Proxool是由iBatis团队开发的,其设计目标是提供一个简单易用、功能全面且性能优异的数据库连接池。与C3P0、DBCP、HikariCP等...
### Proxool连接池知识点详解 #### 一、Proxool连接池简介 Proxool是一个轻量级的Java数据库连接池实现,它能够管理多个数据源,并为每个数据源维护一个连接池。通过Proxool,应用程序可以高效地复用数据库连接,...
2. **连接池参数调整**:根据实际应用场景调整连接池的参数设置,如`maximum-connection-count`、`minimum-connection-count`等,以优化性能。 3. **安全性考虑**:对于敏感数据如数据库用户名和密码,应采取加密或...
通过监控,我们可以根据实际情况动态调整连接池参数,以优化系统性能。 总之,Proxool作为一款轻量级的数据库连接池,它的易用性和灵活性使其在各种Java Web应用中得到了广泛的应用。了解并熟练掌握Proxool的配置和...
在使用Proxool时,理解其配置参数是至关重要的,这些参数可以调整连接池的行为,以适应不同应用场景的需求。以下是一些主要的Proxool配置参数: 1. **driver-url**: 这个参数指定数据库驱动的URL,例如`jdbc:mysql:...
【三大连接池参数详解】 Apache-DBCP 是一个流行的开源数据库连接池,它提供了一种高效、灵活的方式来管理数据库连接。下面将详细解释其主要参数: 1. dataSource:指定要连接的数据源,通常不在服务器配置文件...
- 在`hibernate.cfg.xml`文件中设置以下属性来配置Proxool连接池: ```xml <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider ...
Proxool的配置过程涉及多个方面,包括基本配置参数、连接池大小、超时设置等,下面我们将详细解析这些知识点。 1. **基本配置** 在配置Proxool时,我们需要在应用的配置文件(如`proxool.properties`)中定义连接...
【三大连接池参数详解】 连接池是数据库管理中不可或缺的一部分,它通过管理和重用数据库连接,提高系统的性能和效率。Apache-DBCP、C3P0 和 Proxool 是常用的三大Java连接池实现。下面将详细阐述这三种连接池的...
根据提供的文件信息,本文将详细解释测试连接池的相关知识点,特别是如何在Spring框架中配置Proxool连接池来实现对Oracle数据库的操作。 ### 测试连接池简介 测试连接池是软件开发过程中为了提高效率和资源利用率...
然而,在高并发环境下,Proxool连接池暴露出了一些不足之处: 1. **高并发异常**: - `DataSource.getConnection()` 方法会根据`ProxoolDataSource.simultaneousBuildThrottle`限制连接创建的并发度,当并发请求...
通过上述配置参数的详细解析,我们可以看到DRUID连接池提供了丰富的配置选项,允许开发者根据实际需求灵活地调整连接池的行为。合理的配置不仅可以显著提升应用程序的性能,还能有效地监控数据库的运行状态。因此,...
**Proxool连接池配置** Proxool是另一个早期的连接池实现,它的配置参数包括: 1. `proxool.dbcp.active-count`:当前活动连接数。 2. `proxool.dbcp.max-connection-count`:最大连接数。 3. `proxool.dbcp.min-...