持续加载和查询

场景

您希望应用程序运行连续加载流,但许多应用程序运行的是并行查询流。您希望确保性能是可预计的。

解决方案

此场景的解决方案取决于您的查询组合。在所有情况下,以下方法均适用:

  1. 确定所需的连续加载流数量。如果单个流没有提供足够的吐吞量,则这可能与所需加载速率有关,或者与要加载的数据源数量有更直接的关系。为加载创建一个专用资源池,并将其与要执行加载的数据库用户相关联。有关详细信息,请参阅CREATE RESOURCE POOL

    通常,加载池的并行设置应少于每个节点的内核数。除非源进程较慢,否则会更高效地为每个加载贡献更多内存,并且具有更多的加载队列。如果预计有队列,请调整加载池的 QUEUETIMEOUT 设置。

  2. 运行加载工作负载一会儿,观察加载性能是否符合预期。如果 Tuple Mover 没有经过充分优化以涵盖加载行为,请参阅管理 Tuple Mover

  3. 如果系统中有多种类型的查询(例如,对于某些查询,必须为交互用户快速提供答复,而其他查询属于批量报告处理的一部分),请遵循处理混合工作负载:批处理与交互式处理中的准则。

  4. 运行查询并观察性能。如果某些类别的查询没有按预期执行,那么您可能需要按照限制临时查询应用程序的资源使用率中所述调整 GENERAL 池,或者为这些查询创建更多专用资源池。有关详细信息,请参阅CEO 查询处理混合工作负载:批处理与交互式处理

有关在混合工作负载环境中获得可预测结果的信息,请参阅关于管理工作负载CREATE RESOURCE POOL的部分。