Vertica修改最大并发连接数

简介:

本文地址:http://blog.csdn.net/kongxx/article/details/7176961

最近在对Vertica做压力测试的时候,发现当并发请求数达到50+的时候就会出现下面的异常

[plain]  view plain copy print ?

  1. com.vertica.util.PSQLException: FATAL: New session rejected due to limit, already 55 sessions active  
  2.     at com.vertica.core.v3.ConnectionFactoryImpl.readStartupMessages(Unknown Source)  
  3.     at com.vertica.core.v3.ConnectionFactoryImpl.openConnectionImpl(Unknown Source)  
  4.     at com.vertica.core.ConnectionFactory.openConnection(Unknown Source)  
  5.     at com.vertica.jdbc2.AbstractJdbc2Connection.<init>(Unknown Source)  
  6.     at com.vertica.jdbc3.AbstractJdbc3Connection.<init>(Unknown Source)  
  7.     at com.vertica.jdbc3g.Jdbc3gConnection.<init>(Unknown Source)  
  8.     at com.vertica.Driver.makeConnection(Unknown Source)  
  9.     at com.vertica.Driver.connect(Unknown Source)  
  10.     at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)  
  11.     at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)  
  12.     at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181)  
  13.     at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)  
  14.     at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)  
  15.     at DBUtil.getConnection(DBUtil.java:64)  
  16.     at DBQueryPerformanceTest.query(DBQueryPerformanceTest.java:46)  
  17.     at DBQueryPerformanceTest.access$000(DBQueryPerformanceTest.java:14)  
  18.     at DBQueryPerformanceTest$1.execute(DBQueryPerformanceTest.java:40)  
  19.     at DBPerformanceTest.runIt(DBPerformanceTest.java:97)  
  20.     at DBPerformanceTest$1.run(DBPerformanceTest.java:51)  
  21.     at java.lang.Thread.run(Thread.java:619)  
  22. com.vertica.util.PSQLException: The connection attempt failed.  
  23.     at com.vertica.core.v3.ConnectionFactoryImpl.openConnectionImpl(Unknown Source)  
  24.     at com.vertica.core.ConnectionFactory.openConnection(Unknown Source)  
  25.     at com.vertica.jdbc2.AbstractJdbc2Connection.<init>(Unknown Source)  
  26.     at com.vertica.jdbc3.AbstractJdbc3Connection.<init>(Unknown Source)  
  27.     at com.vertica.jdbc3g.Jdbc3gConnection.<init>(Unknown Source)  
  28.     at com.vertica.Driver.makeConnection(Unknown Source)  
  29.     at com.vertica.Driver.connect(Unknown Source)  
  30.     at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)  
  31.     at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)  
  32.     at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181)  
  33.     at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)  
  34.     at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)  
  35.     at DBUtil.getConnection(DBUtil.java:64)  
  36.     at DBQueryPerformanceTest.query(DBQueryPerformanceTest.java:46)  
  37.     at DBQueryPerformanceTest.access$000(DBQueryPerformanceTest.java:14)  
  38.     at DBQueryPerformanceTest$1.execute(DBQueryPerformanceTest.java:40)  
  39.     at DBPerformanceTest.runIt(DBPerformanceTest.java:97)  
  40.     at DBPerformanceTest$1.run(DBPerformanceTest.java:51)  
  41.     at java.lang.Thread.run(Thread.java:619)  
  42. Caused by: java.net.SocketException: Connection reset  
  43.     at java.net.SocketInputStream.read(SocketInputStream.java:168)  
  44.     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)  
  45.     at java.io.BufferedInputStream.read(BufferedInputStream.java:237)  
  46.     at com.vertica.core.PGStream.ReceiveChar(Unknown Source)  
  47.     at com.vertica.core.v3.ConnectionFactoryImpl.doAuthentication(Unknown Source)  
  48.     … 19 more  

出现这个问题是由于Vertica中指定了MaxClientSessions参数,此时可以通过下面的SQL来修改此值

  1. <pre name=“code” class=“sql”>SELECT SET_CONFIG_PARAMETER (‘MaxClientSessions’, 250);</pre><br>  
  2. <br>  
  3. <pre></pre>  
  4. <p></p>  
  5. <pre></pre>  
  6. <br>  
  7. <br>  
  8. <p></p>  
  9. <p><br>  
  10. </p>  
  11. <p><br>  
  12. </p>  
目录
相关文章
|
17天前
|
监控 数据库 索引
避免锁等待超时对数据库性能的影响
【10月更文挑战第16天】避免锁等待超时对数据库性能的影响需要综合考虑多个方面,通过不断地优化和改进,来提高数据库的并发处理能力和稳定性。
29 1
|
缓存 关系型数据库 PostgreSQL
PostgreSQL relcache在长连接应用中的内存霸占"坑"
除了常见的执行计划缓存、数据缓存,PostgreSQL为了提高生成执行计划的效率,还提供了catalog, relation等缓存机制。PostgreSQL 9.5支持的缓存如下 ll src/backend/utils/cache/ attoptcache.c catcache.c
7427 0
|
4月前
|
SQL 关系型数据库 Serverless
PolarDB产品使用问题之如何控制队列中排队的SQL的等待时间
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
存储 关系型数据库 MySQL
数据库并发问题17
【7月更文挑战第17天】数据库并发问题
40 3
|
4月前
|
SQL Oracle 关系型数据库
|
3月前
|
SQL 关系型数据库 MySQL
(十六)MySQL调优篇:单机数据库如何在高并发场景下健步如飞?
在当前的IT开发行业中,系统访问量日涨、并发暴增、线上瓶颈等各种性能问题纷涌而至,性能优化成为了现时代中一个炙手可热的名词,无论是在开发、面试过程中,性能优化都是一个常谈常新的话题。而MySQL作为整个系统的后方大本营,由于是基于磁盘的原因,性能瓶颈往往也会随着流量增大而凸显出来。
368 0
|
5月前
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用问题之在同一个tm里面,任务超过20个后就显示连接池满,连不上数据库了,该怎么处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
SQL NoSQL 关系型数据库
常用数据库的最大并发和实际并发
常用数据库的最大并发和实际并发
749 0
|
12月前
|
关系型数据库 MySQL
mysql查看当前实时连接数最大连接数
mysql查看当前实时连接数最大连接数
608 0
|
数据库
数据库的并发策略?
数据库的并发策略?
112 0