`

Poxool连接池之参数设置详解

阅读更多
  今天把我做的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。
分享到:
评论

相关推荐

    okhttp中连接池实现

    它的核心特性之一就是连接池(Connection Pool),它在提高网络性能和减少延迟方面起到了关键作用。本文将深入探讨OkHttp中的连接池实现,包括连接对象的添加、移除机制以及其工作原理。 首先,我们需要了解什么是...

    连接池案例 连接池案例

    在实际应用中,开发者通常会在Spring框架中配置数据源,选择合适的连接池实现,如在Spring Boot项目中,可以通过YAML或properties配置文件设置连接池的相关参数: ```yaml spring: datasource: type: ...

    WebSphere参数讲解-连接池方面

    本文将深入探讨WebSphere中的连接池相关参数设置及其意义。 #### 一、连接池简介 连接池是一种用于管理数据库连接的技术。它通过预先创建一定数量的数据库连接,并将其保存在一个池中,以便应用程序可以重复使用...

    kafka生产者连接池

    这个库可能包含了连接池的具体实现,如连接的初始化、配置参数、连接超时设置、最大连接数限制、空闲连接回收策略等功能。在实际应用中,开发者可以根据业务需求调整这些参数,以达到最佳性能和资源利用率。 Kafka...

    Java连接SAP系统所用的JCo连接池的配置和使用

    "Java连接SAP系统所用的JCo连接池的配置和使用" Java连接SAP系统所用的JCo连接池的配置和使用是指在Java应用程序中使用JCo连接池来连接SAP R3系统的技术。JCo(Java Connector)是SAP提供的一种Java API,用于连接...

    common-dbcp2数据库连接池参数说明

    ### common-dbcp2数据库连接池参数详解 随着`commons-dbcp2`的版本更新,数据库连接池的配置也有了相应的调整。为了更好地理解和配置这些参数,本文将详细解析`commons-dbcp2`中的一些关键参数及其意义。 #### 1. ...

    如何启用和禁用数据库连接池以及如何设置连接池最大值和最小值

    ### 如何启用和禁用数据库连接池以及如何设置连接池最大值和最小值 #### 数据库连接池基础知识 数据库连接池是一种用于管理数据库连接的技术,它可以在应用程序与数据库之间建立并维护一组预先创建的数据库连接。...

    Tomcat连接池配置.doc

    Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 ...

    Mongodb连接池for java

    4. 配置文件:可能包含连接池的配置参数,如最大连接数、最小连接数、超时设置等。 5. 文档:解释了如何集成连接池到项目中,以及如何调整配置以适应不同的应用场景。 在Java项目中,配置和使用MongoDB连接池的步骤...

    Unidac连接池

    在Unidac中,设置连接池的参数通常包括: 1. **MaxConnections**:最大连接数,决定了连接池能容纳的最大连接数。 2. **MinConnections**:最小连接数,即使在空闲时,连接池也会保持的最少连接数。 3. **...

    java ftp连接池

    2. 容量控制:连接池通常设置最大连接数,以防止过度消耗系统资源。当达到最大连接数时,新的请求会被阻塞,直到有连接被释放。 3. 连接超时与空闲回收:为了防止资源浪费,连接池会设定超时策略。如果一个连接长...

    数据库连接池技术详解

    对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...

    C# 数据库连接池 C# 数据库连接池

    2. **适当设置连接池大小**:根据应用的并发用户量和数据库负载,合理设置最小和最大连接数。 3. **及时关闭事务**:长时间未结束的事务会占用连接池中的连接,导致其他请求无法获取连接。 4. **避免长时运行查询*...

    c# mysql数据库连接池实现

    但过多的空闲连接也会消耗资源,因此需要合理设置连接池参数,避免资源浪费。 总之,C#下使用.NET Core 2.1框架和MySQL数据库连接池,能够有效提升应用处理数据库请求的效率。通过配置连接字符串、创建DbContext、...

    java 数据库 连接池驱动.rar

    - 根据应用的并发量和数据库服务器的承受能力合理设置连接池大小。 - 定期检查并更新连接池配置,以适应系统负载的变化。 - 使用合适的健康检查机制,确保连接有效性。 - 开启连接池的日志,以便分析和调优。 6...

    tomcat连接池与阿里Druid连接池

    -- Druid 连接池补充设置 --> spring.datasource.initialSize=10 spring.datasource.minIdle=10 spring.datasource.maxActive=100 spring.datasource.maxWait=60000 ``` 三、Tomcat 连接池和阿里 Druid 连接池的比较...

    详解:WebSphere中流行数据库连接池的配置

    WebSphere中流行数据库连接池的配置 本文介绍WebSphere下Oracle、SQL Server、Sybase、MySQL数据库连接池的配置方法,并给出相应调用连接池的示例。相对于Weblogic,WebSphere连接池的配置要稍微复杂一些,因为缺少...

    java socket连接池 实现

    1. 初始化连接池:设置最大连接数、最小连接数、超时时间等参数,并预创建一部分Socket连接。 2. 获取连接:当应用程序需要建立Socket连接时,从连接池中获取一个闲置的Socket,如果没有,则等待直到有连接被归还或...

    socket 客户端连接池实现

    在实际应用中,合理设置连接池的参数至关重要,包括最小连接数、最大连接数、超时时间等。这些参数需要根据系统的并发量、网络环境以及服务器处理能力进行调整,以达到最佳性能。 总结来说,Socket客户端连接池是...

Global site tag (gtag.js) - Google Analytics