sql – pgbench进行大量事务后,数据库暂时断开连接
发布时间:2020-05-25 10:11:20 所属栏目:MsSql 来源:互联网
导读:我正在使用(PostgreSQL)9.2.1并使用pgbench测试数据库. pgbench -h 192.168.39.38 -p 5433 -t 1000 -c 40 -j 8 -C -U admin testdb 当我使用-C参数(为每个事务建立新连接)时,事务总是在第16381个事务之后丢失. Connection to database testdb failedcould not
|
我正在使用(PostgreSQL)9.2.1并使用pgbench测试数据库. pgbench -h 192.168.39.38 -p 5433 -t 1000 -c 40 -j 8 -C -U admin testdb 当我使用-C参数(为每个事务建立新连接)时,事务总是在第16381个事务之后丢失. Connection to database "testdb" failed
could not connect to server: Can't assign requested address
Is the server running on host "192.168.39.38" and accepting
TCP/IP connections on port 5433?
Client 19 aborted in establishing connection.
Connection to database "testdb" failed
could not connect to server: Can't assign requested address
Is the server running on host "192.168.39.38" and accepting
TCP/IP connections on port 5433?
Client 19 aborted in establishing connection.
....
transaction type: TPC-B (sort of)
scaling factor: 30
query mode: simple
number of clients: 40
number of threads: 8
number of transactions per client: 1000
number of transactions actually processed: 16381/40000
tps = 1665.221801 (including connections establishing)
tps = 9487.779510 (excluding connections establishing)
并且每次测试中实际处理的事务数始终为16381.
要么
删除这些事务后,数据库可以在几秒钟内继续接受连接. 谢谢 编辑我发现客户端被阻止连接几秒钟,但其他人仍然可以访问数据库.这是否意味着同一个客户端不能在短时间内发送太多交易? 解决方法我找到了大约16000次交易后丢失连接的原因. TCP wait_time将此错误归咎于此.以下命令将显示TCP连接的状态:$netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
然而,它没有在MAC OS X中显示TIME_WAIT.因此我错过了它.通过以下命令调整TCP wait_time后,pgbench正常工作. $sudo sysctl -w net.inet.tcp.msl=1500 net.inet.tcp.msl: 15000 -> 1500 谢谢你的帮助. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 数据库分页查询语句数据库查询
- mysql报错:MySQL server version for the right syntax to
- sql-order-by – 如何在Doctrine 2中按计数排序?
- SQL标准是否指定约束验证的顺序并触发触发?
- mysql 记录不存在时插入 记录存在则更新的实现方法
- sql-server – 如何在SQL Server 2005 Express中启用全文索
- sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
- 你可以在SQLServer 2k5的一个链接服务器表的视图上有一个外
- sql-server – 数据库表何时变得足够大以至于索引是有益的?
- 解决MySQL安装重装时出现could not start the service mysq
