本文主要是介绍Presto中Queue的使用总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当众多开发者或是测试人员共同使用一个环境时,可能会出现某个人的大量查询把系统资源耗尽的情况,此时可以使用Queue来限制某人的最大连接数,从而达到资源平等的目的。本文对相关配置以及使用做简单的说明- 配置
- 添加配置文件,文件格式为json文件,例如 文件叫queue_config.json,内容如下
{"queues": {"user.${USER}": {"maxConcurrent": 5,"maxQueued": 20},"test": {"maxConcurrent": 2,"maxQueued": 3},"admin": {"maxConcurrent": 100,"maxQueued": 100},"global": {"maxConcurrent": 100,"maxQueued": 1000}},"rules": [{"user": "bob", #bob为管理员,最多可以同时进行100个查询,有100个在等待队列中"queues": ["admin"]},{"user": "guest",#guest用户使用test的策略,最多可以同时进行2个查询,有3个在等待队列中"queues": ["test"]},{"queues": ["user.${USER}","global"]}]}
- 修改配置,修改Presto/etc/config.properties,添加以下配置
query.queue-config-file=/opt/PaaS/Talas/lib/Presto/etc/queue_config.json - 重启Presto Server
- 添加配置文件,文件格式为json文件,例如 文件叫queue_config.json,内容如下
- 验证
使用多线程的方式进行验证,使用guest用户进行测试:- 同时启动两个查询线程,则两个查询的状态都为running
- 同时启动3个查询线程,则两个查询的状态为RUNNING,一个状态为QUEUED
- 同时启动6个查询线程,则两个查询的状态为RUNNING,三个状态为QUEUED,还有一个为INSUFFICIENT RESOURCES
这篇关于Presto中Queue的使用总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!