清除AWS Redshift上的缓存

ant*_*n2g 9 amazon-web-services amazon-redshift

我正在对AWS Redshift进行测试,并且为了复制真实世界的场景,我需要不对我的测试查询进行缓存,以免给出错误的性能图.有没有办法让我在查询运行之间清除Redshift缓存?

Ram*_*asr 6

我相信你可以通过将该值设置为禁用期间进行测试缓存enable_result_cache_for_sessionoff

文档中

如果enable_result_cache_for_session已关闭,Amazon Redshift将忽略结果缓存并在提交所有查询时执行所有查询。


Ada*_*zyk 0

据我所知 - 你不能。但出于性能原因和“现实世界性能”,正如您所提到的,您应该简单地放弃初始运行并使用针对热缓存的后续运行的性能指标。这听起来比针对冷缓存运行更真实,冷缓存会给您带来最坏的情况。如果您坚持测量冷缓存性能,最简单(尽管耗时)的解决方案是在每次冷运行后重新启动集群。

  • 但实际上,许多应用程序将运行大量不同的查询。LRU 缓存无法处理太多。因此,LRU 缓存最终会淘汰一些缓存元素,为新元素让路。然后您就会回到“冷”查询性能。始终尝试提高最慢的“冷”查询的性能非常重要,因为这种情况会再次发生在最终用户身上。 (2认同)