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>  
目录
相关文章
|
6月前
|
关系型数据库 MySQL
mysql查看当前实时连接数最大连接数
mysql查看当前实时连接数最大连接数
126 0
|
10月前
|
数据库
数据库的并发策略?
数据库的并发策略?
81 0
|
10月前
|
SQL 缓存 关系型数据库
PG空闲连接对性能的影响
PG空闲连接对性能的影响
222 0
|
10月前
|
数据库
数据库并发与并发异常
数据库并发与并发异常
108 0
|
监控 Kubernetes NoSQL
为什么百万并发系统不能直接使用 MySQL 服务?
为什么百万并发系统不能直接使用 MySQL 服务?
112 0
|
关系型数据库 MySQL 缓存
MySQL的活跃连接数和连接数
前言 很多用户经常会问,我购买的连接是2000,怎么活跃了连接到了500就报警啊?就响应慢了啊?通过命令我们来看下关于连接数有多少种: mysql> show global variables like "max_connections"; +-----------------+-------+ .
9085 1
|
SQL 关系型数据库 Java
【DB吐槽大会】第8期 - PG 高并发短连接性能差
大家好,这里是DB吐槽大会,第8期 - PG 高并发短连接性能差
|
SQL 缓存 监控
|
前端开发 关系型数据库 MySQL
解惑:为什么300的并发能把支持最大连接数4000数据库压死?
问: 为什么300的并发能把支持最大连接数4000数据库压死? 买了一台数据库,最大连接数的参数是 4000,看起来很棒!但是 cpu 和内存并不咋好!是 2c4g的超低配制。 但是想着反正业务量也不大,不如先扛着,等业务量上来再进行升配! 没过多久,进行一次小量的营销活动。
2363 0
|
关系型数据库 PostgreSQL
PostgreSQL之连接数修改
当前总共正在使用的连接数 select count(1) from pg_stat_activity; 显示系统允许的最大连接数 show max_connections; 显示系统保留的用户数 show superuser_reserved_connections ; 按照用户分组查看 ...
4505 0