本文主要是介绍Presto Benchmark Driver 的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在做Presto的研究,系统中有时候会因为重复执行部分SQL查询而导致整个系统的查询会很慢,为了便于重现慢SQL的一些执行过程,这里用到了 Benchmark Driver,本文主要描述 Benchmark Driver的使用方法- 安装
- 下载文件:https://repo1.maven.org/maven2/com/facebook/presto/presto-benchmark-driver/0.150/presto-benchmark-driver-0.150-executable.jar
- 重命名文件:mv presto-benchmark-driver-0.150-executable.jar presto-benchmark-driver
- 修改文件权限:chmod u+x presto-benchmark-driver
- 配置:
- 在presto-benchmark-driver的相同目录创建suite.json文件,内容如下
{"file_formats": {"query": ["test.*"], #此处为正则表达式,表明sql目录下所有test开头的文件都会被执行。目前的版本貌似每个文件只能写一个SQL"schema": [ "default.*" ], #此处定义匹配执行的schema,同样为正则表达式"session": {}}}
- 在presto-benchmark-driver的相同目录创建sql目录,在sql目录下面创建test.sql
- 在presto-benchmark-driver的相同目录创建suite.json文件,内容如下
- 执行
- 执行:./presto-benchmark-driver --server localhost:8082 --debug --catalog hv --warm 10
此处执行了presto的server,catalog,重复执行次数(默认为4次) - 更多参数可以通过--help来查看
- 执行:./presto-benchmark-driver --server localhost:8082 --debug --catalog hv --warm 10
- 观察
最终执行效果如下:
一共包含三种时间WallTime,ProcessCpuTime,queryCpuTime,每种时间都包含P50,Mean,stand三个值
WallTime:用户要可以看到查询结果要等待的时间
processCpuTime:整个集群为助理查询而消耗的CPU时间,包含一些垃圾回收的时间
queryCpuTime:整个集群为助理查询而消耗的CPU时间
这篇关于Presto Benchmark Driver 的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!