2016-05-04 18 views
6

Przeprowadzam testowanie z wykorzystaniem funkcji Redshift AWS, a do replikowania rzeczywistych scenariuszy potrzebuję, aby moje zapytania testowe nie były buforowane, aby nie dać fałszywego obrazu wydajności. Czy jest jakiś sposób wyczyścić pamięć podręczną Redshift między uruchomieniami kwerend?Wyczyść pamięć podręczną w usłudze AWS Redshift

Odpowiedz

1

O ile wiem - nie można. Jednak ze względu na wydajność i "rzeczywistą wydajność", jak wspomniano, należy po prostu odrzucić początkowe przebiegi i użyć wskaźników wydajności z kolejnych uruchomień przeciwko ciepłemu pamięci podręcznej. To brzmi bardziej realistycznie niż działa przeciwko zimnej pamięci podręcznej, co daje najgorszy scenariusz. Jeśli chcesz mierzyć wydajność zimnej pamięci podręcznej, najprostszym (choć czasochłonnym) rozwiązaniem jest ponowne uruchomienie klastra po każdym zimnym biegu.

+1

Zgodnie z https://docs.aws.amazon.com/redshift/latest/dg/c-query-performance.html ponowne uruchomienie komputera też nie działa. "Pamięć podręczna LRU działa przez restart klastra, ale jest czyszczona przez aktualizacje serwisowe." Ale masz rację, jeśli chodzi o używanie ciepłej pamięci podręcznej, ponieważ "wydajność zapytania przy pierwszym uruchomieniu może być myląca. Powinieneś zawsze uruchamiać zapytanie po raz drugi, aby określić jego typową wydajność." – rkulla

+0

Ale w rzeczywistości wiele aplikacji będzie uruchamiało mnóstwo różnych zapytań. Zbyt wiele dla pamięci podręcznej LRU do obsługi. Tak więc pamięć podręczna LRU wyrzuci niektóre elementy pamięci podręcznej, aby ustąpić miejsca nowszym. Wtedy powrócisz do "zimnej" wydajności zapytań. Ważne jest, aby zawsze starać się poprawić wydajność najwolniejszego "zimnego" zapytania, ponieważ stanie się ono ponownie dla użytkownika końcowego. – user2326106

0

Wierzę, że można wyłączyć pamięć podręczną dla sesji testowych przez ustawienie wartości enable_result_cache_for_session do off

Z documentation

Jeśli enable_result_cache_for_session jest wyłączony, Amazon Redshift ignoruje pamięć wyników i wykonuje wszystkie zapytania kiedy zostaną przesłane.

Powiązane problemy