性能测试¶
本主题提供在 Snowflake 中测试 混合表 的信息。在环境中首次评估混合表时,您可能需要进行一些基本的性能测试。本部分参考 混合表入门教程。如果您还没有完成该教程,现在正是时候。
注意
Snowsight 中报告的性能统计数据并不代表基于驱动程序的工作负载的查询性能。
了解用例¶
测试您期待的结果非常重要。在设计测试时,了解混合表将如何增强架构非常重要。
设计测试场景:
您是否需要大量 UPDATE、INSERT 或 DELETE 语句?
您的应用程序需要快速访问索引数据吗?
您是否希望在不影响 SELECT 性能的情况下更频繁地运行批处理作业?
测试时要测量什么?
选择测试框架¶
性能测试框架在软件开发中无处不在。大多数客户已有测试框架,可用于测试混合表。无论您选择哪种测试框架,它都必须能够:
使用共享密钥身份验证通过 Snowflake 进行身份验证
支持多线程查询执行
以准备好的语句发布查询,根据需要绑定变量
创建 INSERT、UPDATE、DELETE 和 SELECT 查询的组合
理想情况下,您的框架会跟踪每个线程中每个请求的查询执行时间,以计算:
总查询吞吐量
响应时间的最小值、最大值、平均值和标准差
每次查询收到的总字节数
执行测试¶
混合表查询优化器需要一些时间来“热身”并建立稳态延迟。此热身期会因数据量、索引量和查询复杂度而异。对于大多数测试用例,1-2 分钟的热身时间就足够了。可能需要更长的热身期。
小技巧
当吞吐量和延迟曲线趋于稳定状态时,预热期结束。
这是对单个混合表进行随机查询的典型性能测试结果。请注意,性能会随着时间的推移而提高,并在几秒钟后达到稳定状态:

备注
实现稳态响应的时间取决于许多因素,可能需要几分钟。