返回首页

gbase数据、南大通用产品文档:GBase8c确定性能调优范围

更新日期:2024年09月11日

数据库性能调优通常发生在用户对业务的执行效率不满意,
期望通过调优加快业务执行
的情况下。正如“性能因素”小节所述,数据库性能受影响因素多,从而性能调优是一项复
杂的工程,有些时候无法系统性地说明和解释,而是依赖于DBA 的经验判断。尽管如此,
此处还是期望能尽量系统性的对性能调优方法加以说明,
方便应用开发人员和刚接触GBase
8c 的DBA 参考。
性能因素
多个性能因素会影响数据库性能,了解这些因素可以帮助定位和分析性能问题。

系统资源
数据库性能在很大程度上依赖于磁盘的I/O 和内存使用情况。为了准确设置性能指标,

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
509
用户需要了解GBase 8c 部署硬件的基本性能。CPU、硬盘、磁盘控制器、内存和网络接口
等这些硬件性能将显著影响数据库的运行速度。

负载
负载等于数据库系统的需求总量,它会随着时间变化。
总体负载包含用户查询、应用程
序、并行作业、事务以及数据库随时传递的系统命令。比如:多用户在执行多个查询时会提
高负载。
负载会显著地影响数据库的性能。
了解工作负载高峰期可以帮助用户更合理地利用
系统资源,更有效地完成系统任务。

吞吐量
使用系统的吞吐量来定义处理数据的整体能力。
数据库的吞吐量以每秒的查询次数、

秒的处理事务数量或平均响应时间来测量。数据库的处理能力与底层系统(磁盘I/O、CPU
速度、存储器带宽等)有密切的关系,所以当设置数据库吞吐量目标时,需要提前了解硬件
的性能。

竞争
竞争是指两组或多组负载组件尝试使用冲突的方式使用系统的情况。
比如,
多条查询视
图同一时间更新相同的数据,或者多个大量的负载争夺系统资源。随着竞争的增加,吞吐量
下降。

优化
数据库优化可以影响到整个系统的性能。在执行SQL 制定、数据库配置参数、表设计、
数据分布等操作时,启用数据库查询优化器打造最有效的执行计划。
调优范围确定
性能调优主要通过查看GBase 8c 节点的CPU、内存、I/O 和网络这些硬件资源的使用
情况,确认这些资源是否已被充分利用,是否存在瓶颈点,然后针对性调优。

如果某个资源已达瓶颈,则:
1
检查关键的操作系统参数和数据库参数是否合理设置,
进行系统调优指南。
2
通过查询最耗时的SQL 语句、
跑不出来的SQL 语句,
找出耗资源的SQL,
进行SQL 调优指南。

如果所有资源均未达瓶颈,则表明性能仍有提升潜力。可以查询最耗时的SQL 语句,
或者跑不出来的SQL 语句,进行针对性的SQL 调优指南。

硬件瓶颈点分析

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
510
获取GBase 8c 节点的CPU、内存、I/O 和网络资源使用情况,确认这些资源是否已被
充分利用,是否存在瓶颈点。

查询最耗性能的SQL

分析作业是否被阻塞

您可以 修改数据 描述的任何形式将 UPDATE 语句嵌入在程序中,附加的特性是,您可
同时在 SET 和 WHERE 子句中命名表达式中的主变量。
此外,
程序可更新游标找到的行。

orato8a 指定query 方式导出报错ORA-02391
连接数不足
问题现象
执行orato8a 导出,报错ORA-02391,连接数不够了。但sqlplus 执行sql 不报错,
怀疑orato8a 在一次导出数据建立了多个session 连接。
proxychains4 ./orato8a --user='PWYWFX_USER/"Pwywfx@1122!"@orcl'
--query="SELECT COUNT(*) FROM P_CODE"
--file='/opt/export_data/P_CODE.txt' --field="," --format=3 --null_value '\\\N'
[proxychains] config file found:/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init
[proxychains] Strict chain ... 127.0.0.1:1080 ... 10.134.90.158:1521 ... OK
[proxychains] Strict chain ... 127.0.0.1:1080 ... 10.134.90.158:1521 ... OK
ERROR CODE = 2391

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
132
ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit
ERROR CODE = 2391
ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit
Freeing handles ...
WARNING: init_handles() [-1]
和研发确认,orato8a 会启动两个进程,一个里面有一个链接。
解决方法
DBA 增加用户连接数设置。