教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

Greenplum 数据库最佳实践(9)

来源:网络收集 时间:2026-08-30
导读: ? ? 不要启用操作系统的大内存页 gp_vmem_protect_limit 使用 gp_vmem_protect_limit 设置段数据库(Segment)能为所有任务分配的最大内存。切勿设置此值超过系统物理内存。如果 gp_vmem_protect_limit 太大,可能造

? ?

不要启用操作系统的大内存页 gp_vmem_protect_limit

使用 gp_vmem_protect_limit 设置段数据库(Segment)能为所有任务分配的最大内存。切勿设置此值超过系统物理内存。如果 gp_vmem_protect_limit 太大,可能造成系统内存不足,引起正常操作失败,进而造成段数据库故障。如果gp_vmem_protect_limit设置为较低的安全值,可以防止系统内存真正耗尽;打到内存上限的查询可能失败,但是避免了系统中断和Segment故障,这是所期望的行为。 gp_vmem_protect_limit 的计算公式为: (SWAP + (RAM * vm.overcommit_ratio)) * .9 / number_Segments_per_server

? runaway_detector_activation_percent

Greenplum数据库 4.3.4 引入了失控查询终止(Runaway Query Termination)机制避免内存溢出。系统参数runaway_detector_activation_percent控制内存使用达

到 gp_vmem_protect_limit的多少百分比时会终止查询,默认值是 90%。如果某个Segment使用的内存超过了gp_vmem_protect_limit的90%(或者其他设置的值),Greenplum数据库会根据内存使用情况终止那些消耗内存最多的 SQL 查询,直到低于期望的阈值。

?

statement_mem

使用 statement_mem 控制 Segment 数据库分配给单个查询的内存。如果需要更多内存完成操作,则会溢出到磁盘(溢出文件,spill files)。statement_mem 的计算公式为: (vmprotect * .9) / max_expected_concurrent_queries

statement_mem 的默认值是 125MB。例如使用这个默认值, EMC DCA V2 的一个查询在每个Segment服务器上需要1GB内存(8 Segments * 125MB)。对于需要更多内存才能执行的查询,可以设置回话级别的 statement_mem。对于并发度比较低的集群,这个设置可以较好的管理查询内存使用量。并发度高的集群也可以使用资源队列对系统运行什么任务和怎么运行提供额外的控制。

? gp_workfile_limit_files_per_query

gp_workfile_limit_files_per_query 限制一个查询可用的临时溢出文件数。当查询需要比分配给它的内存更多的内存时将创建溢出文件。当溢出文件超出限额时查询被终止。默认值是0,表示溢出文件数目没有限制,可能会用光文件系统空间。

? gp_workfile_compress_algorithm

如果有大量溢出文件,则设置gp_workfile_compress_algorithm对溢出文件压缩。压缩溢出文件也有助于避免磁盘子系统I/O操作超载。

? 配置资源队列

Greenplum 数据库的资源队列提供了强大的机制来管理集群的负载。队列可以限制同时运行的查询的数量和内存使用量。当Greenplum数据库收到查询时,将其加入到对应的资源队列,队列确定是否接受该查询以及何时执行它。

?

不要使用默认的资源队列,为所有用户都分配资源队列。每个登录用户(角色)都关联到一个资源队列;用户提交的所有查询都由相关的资源队列处理。如果没有明确关联到某个队列,则使用默认的队列 pg_default。

? 避免使用 gpadmin 角色或其他超级用户角色运行查询超级用户不受资源队列的限制,因为超级用户提交的查询始终运行,完全无视相关联的资源队列的限制。

? 使用资源队列参数ACTIVE_STATEMENTS限制某个队列的成员可以同时运行的查询的数量。

? 使用MEMORY_LIMIT参数控制队列中当前运行查询的可用内存总量。联合使用ACTIVE_STATEMENTS和MEMORY_LIMIT属性可以完全控制资源队列的活动。 队列工作机制如下:假设队列名字为sample_queue,ACTIVE_STATEMENTS 为10,MEMORY_LIMIT为 2000MB。这限制每个段数据库(Segment)的内存使用量约为2GB。如果一个服务器配置8个Segments,那么一个服务器上,sample_queue需要16GB内存。如果Segment服务器有64GB内存,则该系统不能超过4个这种类型的队列,否则会出现内存溢出。(4队列 * 16GB/队列)。

注意 STATEMENT_MEM 参数可使得某个查询比队列里其他查询分配更多的内存,然而这也会降低队列中其他查询的可用内存。

? 资源队列优先级可用于控制工作负载以获得期望的效果。具有MAX优先级的队列会阻止其他较低优先级队列的运行,直到MAX队列处理完所有查询。

? 根据负载和一天中的时间段动态调整资源队列的优先级以满足业务需求。根据时间段和系统的使用情况,典型的环境会有动态调整队列优先级的操作流。可以通过脚本实现工作流并加入到 crontab 中。

? 使用 gp_toolkit 查看资源队列使用情况,并了解队列如何工作。

第五章系统监控和维护

本章介绍日常维护最佳实践以确保Greenplum数据库的高可用性和最佳性能。

? 监控

Greenplum数据库带有一套系统监控工具。

gp_toolkit 模式包含可以查询系统表、日志和操作环境状态的视图,使用 SQL 命令可以访问这些视图。

gp_stats_missing 视图可以显示没有统计信息、需要运行 ANALYZE 的表。

关于 gpstate 和 gpcheckperf 的更多信息,请参考《Greenplum数据库工具指南》。关于 gp_toolkit 模式的更多信息,请参考《Greenplum数据库参考指南》。

gpstate

gpstate 工具显示了Greenplum数据库的系统状态,包括哪些段数据库(Segments)宕机,主服务器(Master)和Segment的配置信息(主机、数据目录等),系统使用的端口和Segments的镜像信息。

运行 gpstate -Q 列出Master系统表中标记为“宕机”的Segments。 使用 gpstate -s 显示 Greenplum 集群的详细状态信息。 gpcheckperf

gpcheckperf 工具测试给定主机的基本硬件性能。其结果可以帮助识别硬件问题。它执行下面的检查:

?

磁盘I/O测试 - 使用操作系统的 dd 命令读写一个大文件,测试磁盘的IO性能。它以每秒多少兆包括读写速度。

? ?

内存带宽测试 - 使用 STREAM 基准程序测试可持续的内存带宽。

网络性能测试 - 使用 gpnetbench 网络基准程序(也可以用 netperf)测试网络性能。测试有三种模式:并行成对测试(-r N),串行成对测试(-r n),全矩阵测试(-r M)。测试结果包括传输速率的最小值、最大值、平均数和中位数。

运行 gpcheckperf 时数据库必须停止。如果系统不停止,即使没有查询,gpcheckperf的结果也可能不精确。

gpcheckperf 需要在待测试性能的主机间建立可信无密码SSH连接。它会调

用 gpssh 和 gpscp,所以这两个命令必须在系统路径 PATH 中。可以逐个指定待测试的主机(-h host1 -h host2 ...)或者使用 -f hosts_file,其中 hosts_file 是包含待测试主机信息的文件。如果主机有多个子网,则为每个子网创建一个主机文件,以便可以测试每个子网。 默认情况下,gpcheckperf 运行磁盘I/O测试、内存测试和串行成对网络性能测试。对于磁盘测试,必须使用-d选项指定要测试的文件系统路径。下面的命令测试文件 subnet_1_hosts 中主机的磁盘和内存性能:

$ gpcheckperf -f subnet_1_hosts -d /data1 -d /data2 -r ds

-r选项指定要运行的测试:磁盘IO(d),内存带宽(s),网络并行成对测试(N),网络串行成对测试(n),网络全矩阵测试(M)。只能选择一种网络测试模式。更多信息,请参考《Greenplum数据库参考指南》。

…… 此处隐藏:2005字,全部文档内容请下载后查看。喜欢就下载吧 ……
Greenplum 数据库最佳实践(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/518721.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)