PostgreSQL 11 preview - pgbench 支持大于1000链接(ppoll()代替select())

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

标签

PostgreSQL , pgbench , ppoll


背景

目前pgbench最大可以测试1000个连接,显然在某些时候是不够的,我们可能需要建立更多的连接进行测试。

$ pgbench -j 3000 -c 1500  
invalid number of clients: "1500"  

使用这里提到的方法修改一下pgbench,让它能够建立100万个连接。

《从PostgreSQL支持100万个连接聊起》

PostgreSQL 11这块会改掉,使用ppoll代替select,超过1000个连接。

[trying again for 2018-01]  
  
This patch enables building pgbench to use ppoll() instead of select()  
to allow for more than (FD_SETSIZE - 10) connections.  As implemented,  
when using ppoll(), the only connection limitation is system resources.  
  
The patch has been implemented to introduce a minimal of #ifdef/#ifndef  
clutter in the code.  
  
Without this patch, one is limited to '(FD_SETSIZE - 10)’ number of connections.  
Example of something that fails without this patch but works with the patch:  
  
Without the patch:  
  
$ pgbench -j 3000 -c 1500  
invalid number of clients: "1500"  
  
  
With the patch:  
  
$ pgbench -j 3000 -c 1500  
starting vacuum...end.  
transaction type: <builtin: TPC-B (sort of)>  
scaling factor: 2000  
query mode: simple  
number of clients: 1500  
number of threads: 1500  
number of transactions per client: 10  
number of transactions actually processed: 15000/15000  
latency average = 631.730 ms  
tps = 2374.430587 (including connections establishing)  
tps = 4206.524986 (excluding connections establishing)  
  
  
  
doug  
--  
Doug Rady  
Amazon Aurora, RDS PostgreSQL  
radydoug(at)amazon(dot)com  

参考

https://www.postgresql.org/message-id/flat/3B729131-C891-41F3-B911-8DEB05515D63@amazon.com#3B729131-C891-41F3-B911-8DEB05515D63@amazon.com

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4月前
|
SQL 关系型数据库 测试技术
postgresql|数据库|数据库测试工具pgbench之使用
postgresql|数据库|数据库测试工具pgbench之使用
81 0
|
4月前
|
安全 关系型数据库 数据库
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
55 0
|
5月前
|
关系型数据库 PostgreSQL
postgresql insert into插入记录时使用select子查询
postgresql insert into插入记录时使用select子查询
|
5月前
|
关系型数据库 PostgreSQL
postgresql通过select结果进行update
postgresql通过select结果进行update
|
存储 SQL Oracle
10 PostgreSQL 表级复制-物化视图篇, 支持异地,异构如 Oracle 到 pg 的物化视图|学习笔记
快速学习10 PostgreSQL 表级复制-物化视图篇,支持异地,异构如 Oracle 到 pg 的物化视图
423 0
10 PostgreSQL 表级复制-物化视图篇, 支持异地,异构如 Oracle 到 pg 的物化视图|学习笔记
|
存储 SQL Oracle
AnalyticDB PostgreSQL 7.0 支持存储过程(CREATE PROCEDURE)特性
AnalyticDB PostgreSQL 7.0 新增了存储过程功能的支持,让用户在使用ADB PG时能够更方便高效地开发业务,并能够更好地兼容Oracle等传统数仓的业务。
423 1
AnalyticDB PostgreSQL 7.0 支持存储过程(CREATE PROCEDURE)特性
|
SQL 并行计算 关系型数据库
Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)
Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)
146 0
|
SQL 弹性计算 关系型数据库
PostgreSQL 12 preview - CTE 增强,支持用户语法层控制 materialized 优化
标签 PostgreSQL , CTE , materialized , not materialized , push down 背景 PostgreSQL with 语法,能跑非常复杂的SQL逻辑,包括递归,多语句物化计算等。 在12以前的版本中,WITH中的每一个CTE(common table express),都是直接进行物化的,也就是说外层的条件不会推到CTE(物化节点)里
833 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 如何让心跳永远不死,支持半同步自动同步、异步升降级 - udf 心跳
PostgreSQL 如何让心跳永远不死,支持半同步自动同步、异步升降级 - udf 心跳
1092 0
|
弹性计算 关系型数据库 数据库
PostgreSQL 如何让心跳永远不死,支持半同步自动同步、异步升降级 - udf 心跳
标签 PostgreSQL , 同步 , 半同步 , 流复制 , 心跳 , 自动降级 , 自动升级 , dblink , 异步调用 背景 在心跳时,通过自定义UDF,实现心跳永远不被堵塞,并且支持更加当前的配置自动的进行同步、异步模式的升降级。实现半同步的功能。 UDF输入 1、优先模式(同步、异步) 2、同步等待超时时间 当优先为同步模式时,假设当前为同步配置,如果备库异常导致
1835 0

相关产品

  • 云原生数据库 PolarDB