当前位置: 首页 > news >正文

临河网站建设优秀个人网站

临河网站建设,优秀个人网站,某网站做参考文献的书写,世界企业排名500强有时需要对魔改源码前后的不同版本Trino引擎进行性能对比测试#xff0c;提前发现改造前后是否有性能变差或变好的现象#xff0c;避免影响数据业务的日常查询任务性能。而Trino社区正好提供了一个性能测试对比框架#xff1a;GitHub - trinodb/benchto: Framework for runn…有时需要对魔改源码前后的不同版本Trino引擎进行性能对比测试提前发现改造前后是否有性能变差或变好的现象避免影响数据业务的日常查询任务性能。而Trino社区正好提供了一个性能测试对比框架GitHub - trinodb/benchto: Framework for running macro benchmarks in a clustered environmentFramework for running macro benchmarks in a clustered environment - GitHub - trinodb/benchto: Framework for running macro benchmarks in a clustered environmenthttps://github.com/trinodb/benchto因此使用它可以较大程度上减少一通魔改后看起来代码量很大且功能很牛但是实际上线性能拉垮改了个寂寞的现象。 一、服务端部署 通过了解项目源码结构和.md文档发现本质上是需要部署一个远程服务端它可以灵活连接不同的Trino集群并将性能测试的结果和指标信息写入到数据库中其中benchto-service模块就是基于Spring Boot的服务端实现。可以修改resources目录中的application.yaml配置指定Spring Boot后端需连接的数据库社区默认是Postgres server:port: 8081 spring:datasource:url: jdbc:postgresql://x.x.x.x:5432/postgresusername: postgrespassword: postgresdriver-class-name: org.postgresql.Driverjpa:open-in-view: falsehibernate.ddl-auto: validateproperties:hibernate.cache.region.factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactoryhibernate.cache.use_second_level_cache: truehibernate.cache.use_query_cache: truejavax.persistence.sharedCache.mode: ENABLE_SELECTIVE 通过Maven编译打包后会生成benchto-service.jar可以通过java -jar命令的方式部署启动到具体的物理机上也可以参考docs/getting-started/README.md中的提示一键启动相关各服务的docker容器。 二、客户端部署 项目中benchto-driver模块本质上是提交性能测试任务的客户端代替了Trino 363版本之前trino-benchmark-driver-363-executable.jar直连Trino集群的方式。Maven编译打包后会生成benchto-driver-exec.jar也是同样以java -jar的命令启动同时在该jar的所在目录下需要准备如下配置 1描述具体Trino集群信息的application-环境名.yaml配置文件样例如下 # application-dev.yamldata-sources:test-env:url: jdbc:trino://x.x.x.x:8080username: benchtodriver-class-name: io.trino.jdbc.TrinoDriverbenchmarks: benchmarks sql: sql query-results-dir: resultsbenchmark-service:url: http://x.x.x.x:18801 environment:name: DEVbenchmark:feature:presto:metrics.collection.enabled: truequeryinfo.collection.enabled: truepresto:url: http://x.x.x.x:8080username: benchto data-sources代表可以连接哪些trino集群环境这里有个叫test-env的Trino JDBC连接信息是后面提到的3中会引用到的。 benchmarks代表部署benchto-driver-exec.jar客户端后在客户端所在目录下的哪个子目录放置了SQL集配置文件这里就放在名为benchmarks的子目录里。 sql代表各.sql文件放在哪个子目录这里延续了老版trino-benchmark-driver jar的传统也放在sql子目录里。 query-results-dir代表跑性能测试后的结果放在哪个子目录里。 benchmark-service代表benchto服务端的地址以及可以代表什么环境名称。 benchmark标签下可以配置一些接入Presto引擎的参数例如是否针对Presto开启指标收集。 presto下配置连接哪个trino coordinator以及提交查询时的user是谁。 2名为sql的目录其中存放需要的.sql文件。 3名为benchmarks的目录其中存放配置trino集群标识和涉及SQL集的.yaml文件样例如下 # tpch.yamldatasource: test-env query-names: tpch/${query}.sql runs: 3 prewarm-runs: 1 variables:1:query: q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22schema: tpch_orc_100database: hive datasource代表连接哪个trino集群test-env标识在1中代表环境信息的application-环境名.yaml系列配置中已编写引用。 query-names代表涉及哪些SQL文件可以使用动态变量。 runs代表每条SQL除warm up外要正式跑并统计几次。 prewarm-runs代表每条SQL不计入指标统计的初期热身运行次数。 variables代表可以配置的环境变量例如${query}引用到的.sql文件前缀、.sql中的表所来源的catalog和库名等。 variables中1:和2:等数字代表了每个sql可单独进行配置其中schema为.sql文件中动态替换的库名。 三、使用姿势 3.1、提交自动查询任务 在benchto-driver-exec.jar所在目录执行如下命令可以查看能自定义的参数 java -jar benchto-driver-exec.jar -h 常用的执行命令例子如下 # 测试dev环境的tpch sql集 java -jar benchto-driver-exec.jar --profile dev --activeBenchmarks tpch 其中--profile指定提交任务的Trino环境即之前的application-dev.yaml--activeBenchmarks指定需要执行的SQL用例集即之前的tpch.yaml。SQL集中的每一条SQL默认都会先跑一次warm up然后再跑3次正式执行这4次算作一轮获得各项指标的最小最大和平均值等。 3.2、查看查询执行的明细信息 除了benchto-driver-exec.jar不断打印的控制台日志外benchto-service.jar所在机器ip的Benchto UI可以查看提交到具体环境上的SQL执行时长等信息进入后可以选择自己提交sql集所在的集群环境如下图所示 以dev环境为例点击进入DEV标签后可以看到执行过的SQL概览如下图所示 Name代表SQL集的名称Schema为库名Database其实是catalog名Query就是sql文件的名称Mean Duration为平均查询时长。 点击Name列中的某行SQL集名称这里是dev_tpch会进入对应sql的明细界面可以看到同一条sql被统计了3次不包含第一次warm up下方的各种图表展示了该sql各方面的最小最大值平均值与标准差等指标横轴的execution id指的是这一轮中几次相同sql所执行的id 在各种图表的最下方可以看到同一个SQL多次执行的快照信息按id来最近时间排序如下图所示 点击某一次执行的时间链接就会看到这一轮3次执行的更详细指标如下图所示 在明细指标的末尾还可以看到该SQL在这一轮3次执行的trino query id链接可以进入trino UI查看一些原生信息 上图的界面也可以通过对应环境的首页点击对应行的时间链接进入如下图所示 3.3、对比组件版本前后性能 目前Benchto只能做到SQL粒度的前后对比无法展示总体版本的前后对比因此建议先利用集群环境上的老版本Trino先提交一轮SQL集整轮跑完后关注下Benchto UI上提交的时间再发布新版组件再提交第二轮相同SQL集。 Benchto UI上有了2轮相同SQL集分别由新老版本Trino执行的记录后在对应环境的首页先进入对应的SQL链接然后在SQL明细页底部勾选要对比的两次执行时刻条目也可以选多个时刻再点击右上角的Compare all如下图所示 当然对比数据也可以导出为CSV进行其他处理Compare all之后可以看到该SQL对应两次执行的对比图如下所示  比较常关注的就是elapsedTime代表体感查询时间其他指标例如queuedTime在等待执行队列中的时间、planningTime执行计划生成时间、finishingTimecommit元数据与等待客户端消费结果等时间、analysisTime从存储引擎拉取元数据并赋予执行计划的时间、executionTime从结束queued状态起到执行结束的时间包括planning等也值得关注。 id1和id2代表的执行时刻在对比图表页面的底部有展示如下所示 3.4、清理历史查询信息  benchmark运行一段时间后会生成非常多的查询历史记录对比报告的可读性会下降此时可以在确定之前的历史信息已经不需要的前提下清理记录benchto查询历史信息的Postgres数据库操作步骤为 su - postgres psql-- 从这里开始已经进入了pg的sql命令行界面 \c postgres; --切换数据库到postgres等同于use postgres \dt; --等同于show tables truncate table benchmark_runs cascade; 这样Benchto UI上的图表也都清空了。
http://www.lakalapos1.cn/news/34568/

相关文章:

  • 做网站付款方式邢台建网站的公司
  • 企业网站推广排名上海建站网络科技有限公司
  • 开源网站源码下载wordpress多个插件合并
  • 自己想做一个网站怎么做的上海松江网站设计公司
  • 佛山网站建设外包公司公司网站建设实施方案
  • 濮阳网站优化企业网站自己怎么做
  • 怎么建设游戏平台网站祁东网站建设
  • 怎么查网站备案域名备案信息网站建设 中山
  • 专业网站建设市场龙华网站建设哪家好
  • 建设网站的申请信用卡wordpress去掉谷歌字体
  • 延津县建设局网站wordpress文章推荐系统
  • ai做的网站怎么切图网站可以有二维码吗
  • 后台管理网站开发wordpress 仿雷锋
  • 北京手机版建站系统开发网站建设规划书样板
  • 网站登陆口提交网站在线工具网站
  • 做网站需要什么域名app与网站的区别功能
  • 人社网站和微信平台建设方案做调查问卷网站
  • 三河做网站速加网零件加工网
  • 赣州网站建设百家号wordpress主题加速插件
  • 青海做网站需要多少钱郑州 服装 网站建设
  • 西宁那有做网站的福永三合一网站设计
  • 建设企业网站流程如何软件开发
  • c2c网站开发毕业设计做自媒体好还是网站好
  • 永久免费建站程序400大看免费行情的软件
  • 进入山东省住房和城乡建设厅网站从化网站建设优化
  • 济南高新网站制作代人做网站
  • 广州做贷款有什么网站小程序源码提取
  • 怎么看网站是服务器还是虚拟主机三维设计软件有哪些
  • 全网网站建设设计海外服务器购买
  • 旅游建设门户网站的方案佛山专注网站制作细节