PG DBA培训21:PostgreSQL性能优化之基准测试

本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL Performance Benchmarking,学完本课程可以掌握PostgreSQL性能基准测试基础知识,基准测试介绍,基准测试相关指标,TPCC基准测试基础,PostgreSQL测试工具介绍,PostgreSQL性能基准测试案例1之BenchmarkSQL,BenchmarkSQL测试介绍,BenchmarkSQL测试环境准备,BenchmarkSQL安装配置,BenchmarkSQL压力测试与分析,PostgreSQL性能基准测试案例2之Sysbench,sysbench介绍与下载安装,sysbench命令参数与使用注意,sysbench基准测试过程,sysbench磁盘IO测试及更多类型,PostgreSQL性能基准测试案例3之pgbench,pgbench基准测试介绍,pgbench基准测试过程等技术内容,https://edu.51cto.com/course/34938.html,适合运维人员/数据库/开发人员,可以用于业务生产环境。

二、风哥PostgreSQL Performance Benchmarking

1.PostgreSQL性能基准测试基础知识

(*)基准测试介绍

(*)基准测试相关指标

(*)TPCC基准测试基础

(*)PostgreSQL测试工具介绍

2.PostgreSQL性能基准测试案例1之BenchmarkSQL

(*)BenchmarkSQL测试介绍

(*)BenchmarkSQL测试环境准备

(*)BenchmarkSQL安装配置

(*)BenchmarkSQL压力测试与分析

3.PostgreSQL性能基准测试案例2之Sysbench

(*)sysbench介绍与下载安装

(*)sysbench命令参数与使用注意

(*)sysbench基准测试过程

(*)sysbench磁盘IO测试及更多类型

4.PostgreSQL性能基准测试案例3之pgbench

(*)pgbench基准测试介绍

(*)pgbench基准测试过程

基准测试(benchmark)基础知识

基准测试是针对系统设计的一种压力测试,为系统建立一个性能基准,以后当系统的环境参数发生变 化后,在进行一次相同标准下的测试,可以看出变化对性能的影响,可以在较好的阶段发现性能问题。 基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接。 数据可以由工具生成,不要求真实;而压力测试一般考虑业务逻辑(如购物车业务),要求真实数据。 基准测试目标 评估当前系统 寻找存在瓶颈 预测未来性能

对于多数应用系统,整个系统的瓶颈在于数据库;原因很简单:应用系统中的其他因素,例如网络带宽、负载均衡节点、应用服务器(包括CPU、内存、硬盘灯、连接数等)、缓存,都很容易通过水平的扩展(俗称加机器)来实现性能的提高。fgedu wx-gzh:itpux_com, 而对于PG,由于数据一致性的要求,无法通过增加机器来分散向数据库写数据带来的压力;虽然可以通过读写分离、分布式来减轻压力,但是受到了太多的限制。 而对数据库的基准测试的作用,就是分析在当前的配置下(包括硬件配置、OS、数据库设置等),数据库的性能表现,从而找出PG的性能界限,并根据实际系统的要求调整配置。

针对整个系统的整体测试,即集成式基础测试。

通过http请求进行测试,如通过浏览器、APP等测试工具。 该方案的优点:能够更好的针对整个系统,测试结果更加准确; 缺点:是设计复杂实现困难。

单独测试PG,即单组件式基准测试。

只针对PG的基准测试:优点和缺点与针对整个系统的测试恰好相反。

相关推荐
2301_815279524 分钟前
CSS定位如何实现多行文字垂直居中_通过绝对定位模拟表格
jvm·数据库·python
m0_684501988 分钟前
C#怎么使用LINQ Contains包含判断 C#如何用Contains实现类似SQL IN查询的集合包含判断【语法】
jvm·数据库·python
2301_7641505626 分钟前
c++如何读取和解析带BOM头的UTF-8与UTF-16文本流【详解】
jvm·数据库·python
qq_4240985629 分钟前
HTML函数开发用窄边框笔记本有优势吗_便携与性能权衡【指南】
jvm·数据库·python
Wyz2012102432 分钟前
CSS如何实现导航栏下划线随鼠标移动_利用-hover伪类与过渡动画控制
jvm·数据库·python
2201_7610405933 分钟前
SQL如何统计每个用户的首次行为时间_MIN聚合与分组
jvm·数据库·python
qq_1898070338 分钟前
mysql如何实现定时清理缓存数据_利用event scheduler执行
jvm·数据库·python
Polar__Star41 分钟前
golang如何实现低功耗设备唤醒机制_golang低功耗设备唤醒机制实现教程
jvm·数据库·python
a95114164243 分钟前
CSS怎么在flex布局中实现项目均分间距_设置justify-content space-evenly
jvm·数据库·python
2201_761040591 小时前
Golang如何做灰度发布_Golang灰度发布教程【实战】
jvm·数据库·python