pg9.6单纯写性能探索

本文探讨了PostgreSQL 9.6在OLTP高写操作场景下的性能,选择了pg_9.6版本进行测试。通过在x86环境下使用pgbench工具,测试了不同并发下的数据写入能力。测试结果显示,性能瓶颈在于磁盘IO,CPU利用率最高达到20%,并发128时写入TPS达到峰值,随着并发增加TPS下降。硬件的IOPS测试显示为1207,表明硬件限制了进一步提升性能。
摘要由CSDN通过智能技术生成

背景介绍

PostgreSQL 在横向和纵向的扩展能力在开源数据库中一直处于非常领先的地位。针对OLTP类写操作占比很高的场景,想要探究下单pg在普通x86机器下对单个表的插入性能。

环境介绍

由于antdb v3.1版本用的pg内核版本为9.6,本次同样选取pg_9.6版本。

下载链接:https://github.com/postgres/postgres.git

x86配置:

CPU Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz  (22core)
mem 64GB
磁盘 STAT 4TB




Docker用于容器化应用,而PostgreSQLpg9.6)是一款流行的开源关系型数据库管理系统。要在Docker容器中设置主从复制(Master-Slave replication),你需要执行以下步骤: 1. **安装PostgreSQL Docker镜像**: 使用官方的PostgreSQL镜像,例如`postgres`, 或者如果需要特定版本如pg9.6,你可以使用`library/postgres:9.6-alpine`。 ```sh docker pull library/postgres:9.6-alpine ``` 2. **启动主数据库(Master)**: 创建一个新的容器并映射数据卷到容器内部,以便持久存储数据。在启动时指定 `-e POSTGRES_PASSWORD=mysecretpassword` 设置密码,确保容器监听网络端口供其他容器连接。 ```sh docker run -d --name my_postgres_master \ -p 5432:5432 \ -v /path/to/local/data:/var/lib/postgresql/data \ -e POSTGRES_PASSWORD=mysecretpassword \ library/postgres:9.6-alpine ``` 3. **启动从数据库(Slave)**: 创建另一个容器并设置为从主数据库复制。同样,创建数据卷,指定数据库密码和网络参数。使用`-e MASTER_HOST=$(hostname)` 和 `--link my_postgres_master:maindb` 命令,连接到主数据库。 ```sh docker run -d --name my_postgres_slave \ -p 5433:5432 \ -e POSTGRES_PASSWORD=mysecretpassword \ -e MASTER_USER=your_username \ -e MASTER_HOST=$(hostname) \ --link my_postgres_master:maindb \ library/postgres:9.6-alpine ``` 4. **配置主从复制**: 在主数据库上运行SQL命令启用wal接收器(walreceiver),然后在从库上运行`pg_basebackup`或`streaming-replication-start`等命令启动复制。这通常在启动时由脚本处理,但也可以手动进行。 ```sql -- 主库(master) ALTER SYSTEM SET listen_addresses = '*'; CREATE USER your_username WITH REPLICATION ENCRYPTED PASSWORD 'your_password'; -- 从库(slave) pg_basebackup -h $(hostname) -U your_username -P your_password -Ft -D /var/lib/postgresql/data ``` 5. **监控与故障转移**: 可以考虑使用如pgAdmin或Prometheus、Grafana这样的工具对主从模式进行管理和监视,以防主库出现问题时能自动切换到从库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值