背景
针对不同的用户查询场景,可能需要对鸿鹄的查询配置进行调优以满足不同的需求。例如:
默认的并发量太小,需要更高的并发量。
单个查询可用内存太少导致查询失败,在内存充足的情况下,期望查询可以使用更多的内存。
升级硬件配置后,期望获得更高的查询并发量和单条查询的可使用资源量。
推荐配置参考
⚠️ 该配置仅为推荐配置,适合大部分数据导入和查询场景,如果遇到问题还需要针对具体情况继续调整。
例如:
-
硬件配置固定的条件下,依然期望更高的并发量,可以将flamingo.aurora_gunicorn_workers和stonewave.max_job_exe_num继续调高,那么同时运行的查询太多导致内存不足的风险则会增加。
-
单个查询需要更多的内存可以将stonewave.max_single_job_memory_gb继续调高,那么此查询使用太多内存导致其他同时在执行的查询可用内存不足的风险则会增加。
配置说明
flamingo.aurora_gunicorn_workers: 鸿鹄处理API请求的worker数量。
stonewave.max_job_exe_num: 查询的最大并发数。
stonewave.max_job_queue_size: 查询队列的大小,当查询请求数大于最大并发数时,查询会在队列中等待执行。当超过队列大小时,新的查询请求会被拒绝。
stonewave.max_single_job_memory_gb: 单个查询可使用的最大内存量(单位GB)。当查询使用的内存量超过该值时,查询会被终止。
stonewave.max_all_jobs_memory_gb: 所有查询可使用的最大内存量(单位GB)。当同时执行的查询内存使用总量超过该值时,达到该内存使用量并且继续申请内存的查询会被终止。
stonewave.resource.memory_max: nomad允许stonewave使用的最大内存量。
常见问题
问: 如何更改配置并且生效?
答: 鸿鹄成功安装后在根目录下修改user_settings.vars文件中的对应配置项,修改完成后运行./honghuctl restart命令即可。更多信息请参考文档通过vars管理部署配置
问: 我的机器类型不在表格中应该选择哪一套配置?
答: 选择内存更接近的配置。
问: 这些配置会影响查询速度吗?
答: 不会。但是需要注意的是同时执行的查询越多,会因为竞争CPU资源导致查询变慢。