首页 > 解决方案 > 雅典娜性能测试

问题描述

对 csv 数据执行查询。(测试雅典娜性能)查询:select * from csvdata limit 10;在这里,我正在测试扫描了多少数据以及花费了多少时间。当我一次又一次地运行相同的查询时,时间差和扫描的数据是如此不稳定。无法弄清楚 athena 扫描数据的最佳时间是什么时候。是网络延迟吗?或者我的方法有什么问题?期待稍后测试joins、groupby、partitions和bucketing。有什么我可以参考的用例吗?

标签: amazon-athena

解决方案


Athena 是一个多租户分布式系统,根据一天中的时间、运行查询的帐户、区域等,您会发现查询时间存在很大差异。某些查询可能会排队,结果集的大小也会影响总查询持续时间。

我建议您在一天中的不同时间对完全相同的查询进行基准测试,并确保您始终针对相同的数据运行。测量客户端上的持续时间,并记录GetQueryExecutionAPI 调用的提交时间、完成时间和引擎执行时间值。当您在 Athena 控制台中运行查询时,它将报告引擎执行时间,但这不包括排队和在客户端中读取结果所需的时间(GetQueryResults对于大型结果集来说可能非常慢)。

还要记录扫描数据的数量,这是在对分区和分桶进行基准测试时要查看的重要数字,因为它可以告诉您查询是否正在使用这些数据。


推荐阅读