PostgreSQL 数据库性能

1:数据库性能常用的度量指标

(1)运行时间 run time  

(2)QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

(3)TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

 

2:数据库性能常见的依赖因素

(1)环境

a: 机器配置:

       磁盘、存储文件系统规划;

       CPU主频、核数;    

        linux OS系统内核配置:/etc/sysctl.conf; (配置生效时: sysctl -p) ;blog/20170412_04.md at master · digoal/blog · GitHub

        网络带宽时延、网络带宽、防火墙;

        资源限制:/etc/security/limits.conf

 b: HA\集群架构(同步、异步复制策略)

 c: 数据库参数(postgresql.conf 刷盘策略等, 下面会介绍一些常用的参数设置技巧)

(2)业务场景

表定义

数据量

SQL

事务隔离级别

并发度

3:数据库运行时间消耗

(1) 客户端:建连\断连, SQL发送、 结果集接受、处理

(2) 数据库服务端: 通信层(采用连接池、用户态网络、逻辑连接), SQL优化(优化)\执行层(线程池),写日志(并发)、数据刷盘(刷页线程、shared)、结果输出

(3) 网络延迟

4: SQL执行时间分析

SQL--->查询解析(词法分析token keyword、语法分析parsetree、语义分析querytree)---> 查询优化 (查询重写)---> 优化器 (代价估算、生成执行计划 plantree) -------> 绑参 ------> 执行器 ----->存储引擎

5: 逻辑上常见的SQL执行顺序【】

【7】select 【8】distinct 【11】<select_list>

【1】from <left_table>

【3】<join_type> join <right_table>

【2】on <join_condition>

【4】where <condition><

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值