Presto Benchmark Driver 的使用

  • Post author:
  • Post category:其他



最近在做Presto的研究,系统中有时候会因为重复执行部分SQL查询而导致整个系统的查询会很慢,为了便于重现慢SQL的一些执行过程,这里用到了


Benchmark Driver,本文主要描述


Benchmark Driver的使用方法


  1. 安装


    1. 下载文件:


      https://repo1.maven.org/maven2/com/facebook/presto/presto-benchmark-driver/0.150/presto-benchmark-driver-0.150-executable.jar
    2. 重命名文件:mv

      presto-benchmark-driver-0.150-executable.jar


      presto-benchmark-driver
    3. 修改文件权限:chmod u+x

      presto-benchmark-driver

  2. 配置:

    1. 在presto-benchmark-driver的相同目录创建

      suite.json文件,内容如下


      {
      “file_formats”: {
      “query”: [“test.*”],   #此处为正则表达式,表明sql目录下所有test开头的文件都会被执行。目前的版本貌似每个文件只能写一个SQL
      “schema”: [ “default.*” ], #此处定义匹配执行的schema,同样为正则表达式
      “session”: {}
      }
      }


    2. 在presto-benchmark-driver的相同目录创建sql目录,在sql目录下面创建test.sql


  3. 执行


    1. 执行:


      ./presto-benchmark-driver –server localhost:8082  –debug  –catalog hv –warm 10


      此处执行了presto的server,catalog,重复执行次数(默认为4次)

    2. 更多参数可以通过–help来查看

  4. 观察


    最终执行效果如下:





    一共包含三种时间WallTime,ProcessCpuTime,queryCpuTime,每种时间都包含P50,Mean,stand三个值


    WallTime:用户要可以看到查询结果要等待的时间


    processCpuTime:整个集群为助理查询而消耗的CPU时间,包含一些垃圾回收的时间


    queryCpuTime:整个集群为助理查询而消耗的CPU时间




版权声明:本文为sun7545526原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。