【发布时间】:2021-11-15 20:57:07
【问题描述】:
一些用户正在为在大区域中触发内存不足错误的区域执行 OQL。单独对查询进行排序会触发内存不足错误。
是否有任何配置可以限制内存占用或禁止对特定区域的查询?
【问题讨论】:
一些用户正在为在大区域中触发内存不足错误的区域执行 OQL。单独对查询进行排序会触发内存不足错误。
是否有任何配置可以限制内存占用或禁止对特定区域的查询?
【问题讨论】:
据我所知,没有特定的方法可以限制仅用于查询的内存消耗。
但是,您可以使用其他选项来使集群对这些情况更具弹性(除了显而易见的选项:教育您的用户不要在大区域执行SELECT * 之类的操作):
SecurityManager 进行身份验证和授权,并谨慎地为您的用户分配DATA:READ:RegionName 权限。启用安全性后,尝试针对特定 RegionName 执行 OQL 查询的用户需要分配 DATA:READ:RegionName ResourcePermission,因此您可以事先决定向谁授予此权限。更多详情here。【讨论】:
ResourceManager 应该不会影响集群的性能,我已经看到它在多个生产环境中使用。附带说明一下,它不仅可以保护您的集群免受无差别查询的影响,还可以保护您的集群免受可能在高峰时段导致成员宕机的活动爆发……我强烈建议启用它!干杯。