我正在使用(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.
但是,pgbench可以成功并且在所有情况下处理所有事务
-C is not used
要么
the total transactions are less than 16381
删除这些事务后,数据库可以在几秒钟内继续接受连接.
我想知道我是否错过了Postgresql的一些配置.
谢谢
编辑我发现客户端被阻止连接几秒钟,但其他人仍然可以访问数据库.这是否意味着同一个客户端不能在短时间内发送太多交易?