amazon-athena - 雅典娜性能测试
问题描述
对 csv 数据执行查询。(测试雅典娜性能)查询:select * from csvdata limit 10;在这里,我正在测试扫描了多少数据以及花费了多少时间。当我一次又一次地运行相同的查询时,时间差和扫描的数据是如此不稳定。无法弄清楚 athena 扫描数据的最佳时间是什么时候。是网络延迟吗?或者我的方法有什么问题?期待稍后测试joins、groupby、partitions和bucketing。有什么我可以参考的用例吗?
解决方案
Athena 是一个多租户分布式系统,根据一天中的时间、运行查询的帐户、区域等,您会发现查询时间存在很大差异。某些查询可能会排队,结果集的大小也会影响总查询持续时间。
我建议您在一天中的不同时间对完全相同的查询进行基准测试,并确保您始终针对相同的数据运行。测量客户端上的持续时间,并记录GetQueryExecution
API 调用的提交时间、完成时间和引擎执行时间值。当您在 Athena 控制台中运行查询时,它将报告引擎执行时间,但这不包括排队和在客户端中读取结果所需的时间(GetQueryResults
对于大型结果集来说可能非常慢)。
还要记录扫描数据的数量,这是在对分区和分桶进行基准测试时要查看的重要数字,因为它可以告诉您查询是否正在使用这些数据。
推荐阅读
- javascript - Socket.io 不会发射到房间
- r - 如何在R中的行和列中使用值为1的数据框的子集
- kubernetes - 如何更改我的秘密在我的应用程序的 pod 中结束的路径?
- gun - 如何使用 GUDB 上传和下载媒体文件?
- angular - 角度表 - 列不是计算列的总计/汇总。只有在输入文本框中输入值时,总计才能正常工作
- qt - 使单击的 QListWidgetItem 无边框
- python - Python - 字典列表到 redis 列表
- python - 使用网络抓取从 Twitter 下载搜索结果
- javascript - 如何在下面的方法中用 log.error 替换 printStackTrace
- python - Pyinstaller 无法执行脚本 pyi_rth_pkgres