Redis to zaawansowany magazyn klucz-wartość. W rzeczywistości jest to kluczowy magazyn wartości numer jeden i ósma najpopularniejsza baza danych na świecie. Ma wysoką przepustowość i działa z pamięci, ale ma również możliwość utrwalania danych na dysku. Redis to świetne rozwiązanie do buforowania dla bardzo wymagających aplikacji. Dostępnych jest wiele rozwiązań, które pomogą Ci wdrożyć Redis i zarządzać nim w chmurze. W tym poście porównamy funkcje wydajności i zarządzania ScaleGrid for Redis™ i Azure Cache for Redis, aby pomóc Ci wybrać najlepiej zarządzane rozwiązanie do wdrożenia Redis.
ScaleGrid jest dostawcą DBaaS, który zapewnia w pełni zarządzany hosting nie tylko dla Redis™, ale także dla baz danych MongoDB®, MySQL i PostgreSQL. Plan Bring Your Own Cloud (BYOC) obsługuje serwer bazy danych na Twoim własnym koncie AWS, Azure lub GCP.
Azure udostępnia hostowaną usługę dla Redis o nazwie Azure Cache for Redis.
W skrócie – TLDR | ||||||
---|---|---|---|---|---|---|
|
ScaleGrid for Redis™ vs. Azure Cache for Redis Performance Benchmark
W tym teście porównawczym mierzymy wydajność pod względem przepustowości i opóźnień. Przepustowość jest mierzona w operacjach na sekundę (operacje/s), a opóźnienie w mikrosekundach. Sprawdź naszą sekcję Konfiguracje testów porównawczych w dalszej części tego postu, aby uzyskać informacje na temat konfiguracji tego testu porównawczego.
Porównaliśmy wydajność Redis™ z następującymi konfiguracjami.
Dostawca | Rozmiar planu | RAM | Koszt miesięczny |
---|---|---|---|
ScaleGrid for Redis™ | Dedykowany hosting duży na platformie Azure | 7GB pamięci | 607 USD |
Azure Cache dla Redis | C3 Standard – umiarkowana przepustowość sieci | 6 GB pamięci | 328,50 USD |
Azure Cache dla Redis | P1 Premium – Umiarkowana przepustowość sieci | 6 GB pamięci | 404,42 USD |
Azure Cache dla Redis | P2 Premium – Wysoka przepustowość sieci | 13 GB pamięci | 810,30 USD |
Wydajność przepustowości
Połączenia | ScaleGrid for Redis™ | Azure Cache C3 Std. 6GB | Azure Cache P1 6 GB | Azure Cache P2 13 GB | Ulepszenie ScaleGrid |
---|---|---|---|---|---|
100 | 134 667 | 16 461 | 19 881 | 38 459 | 439% |
200 | 147 551 | 16 246 | 25 361 | 35 459 | 474% |
300 | 152.341 | 15 872 | 25 346 | 35 045 | 499% |
400 | 152 624 | 15 235 | 19 043 | 37301 | 539% |
Jak widać na powyższym wykresie, ScaleGrid dla Redis™ osiąga około 5x wyższą przepustowość w porównaniu z usługą Azure Cache for Redis w porównaniu do 100-400 połączeń. Na przykład, podczas gdy plan Azure Cache dla Redis P2 Premium 13 GB zarządza około 36 000 operacji/s we wszystkich scenariuszach połączenia, ScaleGrid dla Redis™ ma ponad 130 000 operacji/s we wszystkich scenariuszach. |
Wydajność opóźnień
Połączenia | ScaleGrid for Redis™ | Azure Cache C3 Std. 6GB | Azure Cache P1 6 GB | Azure Cache P2 13 GB | Ulepszenie ScaleGrid |
---|---|---|---|---|---|
100 | 744 | 6809 | 5896 | 2497 | -85% |
200 | 1353 | 10950 | 8447 | 5565 | -84% |
300 | 2044 | 17 807 | 13 045 | 8539 | -84% |
400 | 2609 | 25 126 | 16999 | 10 716 | -85% |
Podczas gdy opóźnienie usługi Azure Cache for Redis szybko rośnie wraz ze wzrostem liczby połączeń, ScaleGrid for Redis™ stale osiąga niskie opóźnienia we wszystkich liczba połączeń. ScaleGrid dla Redis™ ma średnio o 85% mniejsze opóźnienie niż Azure Cache dla Redis. Jest to szczególnie zauważalne podczas porównywania Azure Cache for Redis (C3 Standard 6 GB) do ScaleGrid for Redis™, gdzie różnica wynosi do -99%. |
Podsumowanie testu porównawczego
Jak widać na powyższych wykresach, ScaleGrid dla Redis™ zapewnia znacznie wyższą przepustowość i mniejsze opóźnienia. Średnio możemy zobaczyć około 5x większą przepustowość i 85% mniejsze opóźnienie w porównaniu z równoważnymi rozmiarami w Azure Cache. Plan ScaleGrid for Redis™ BYOC zaczyna się od 9 USD miesięcznie (720 godzin + koszty maszyny wirtualnej) i 18 USD miesięcznie (720 godzin) w przypadku dedykowanego planu hostingowego.
|
Konfiguracja testu porównawczego
Rzućmy okiem na konfiguracje użyte w teście wydajności:
Konfiguracja | Szczegóły |
---|---|
Narzędzie do analizy porównawczej | Memtier Benchmark |
Region Azure dla Redis | Wschodnie USA |
Region Azure dla aplikacji | Wschodnie USA |
Typ wdrożenia | Master-Slave |
Dla każdego serwera Redis™ porównaliśmy 100, 200, 300 i 400 połączeń. Każde połączenie wysyła 10 000 żądań z 32-bajtowym rozmiarem danych obiektu na żądanie. Do łączenia serwerów Redis™ używamy połączeń innych niż SSL.
ScaleGrid nie tylko zapewnia wyższą przepustowość i mniejsze opóźnienia, ale także oferuje wiele innych funkcji, takich jak pełny dostęp administratora, zaplanowane kopie zapasowe i dostęp SSH. Więcej informacji na temat ScaleGrid for Redis™ na platformie Azure można znaleźć w naszej witrynie internetowej.
Co wziąć pod uwagę przy wyborze usługi Redis™?
Tak więc przy tak wielu w pełni zarządzanych opcjach dostawcy usług Redis™, na jakie najważniejsze funkcje należy zwrócić uwagę? Oto lista kontrolna, której należy użyć przy wyborze odpowiedniej usługi hostingowej Redis:
- Serwer dedykowany
- Skalowalność
- Trwałość danych
- Kopie zapasowe i przywracanie
- Wysoka przepustowość i małe opóźnienia
Serwer dedykowany
Redis to serwer jednowątkowy, na którym dane są przechowywane w pamięci; dlatego posiadanie Redis działającego na dedykowanym serwerze jest bardzo ważne w środowisku produkcyjnym. Nie chcesz, aby Twój serwer Redis walczył o zasoby procesora i pamięci z innymi usługami.
Skalowalność
Firmy rosną i to samo dotyczy Twoich danych. Bardzo ważne jest, aby Twoja usługa Redis była w stanie wykonać dynamiczne, lokalne skalowanie serwera Redis przy minimalnym lub żadnym przestoju.
Trwałość danych
W zależności od potrzeb biznesowych może być konieczne zachowanie danych Redis w fizycznej pamięci masowej. Redis zapewnia dwie opcje trwałości:RDB i AOF.
RDB to migawki zestawu danych z określonego punktu w czasie w pliku kopii zapasowej bazy danych Redis. Plik można przenieść do innych instancji Redis.
AOF oznacza plik tylko z dołączaniem. Redis rejestruje każdą operację zapisu, która została zmodyfikowana w zestawie danych. Jest to bardzo niezawodny sposób na zachowanie danych.
Zarówno RDB, jak i AOF mogą być włączone w tym samym czasie i mają różne kompromisy. Aby uzyskać więcej informacji na temat ich zalet i wad, możesz przeczytać więcej na stronie Redis Persistence na redis.io.
Twoja usługa Redis powinna zapewniać opcje nie tylko utrwalania danych, ale także wdrażania Redis w trybie master/replika lub klastra, aby zminimalizować ryzyko utraty danych.
Kopie zapasowe i przywracanie
Dowolna baza danych jako usługa (DBaaS) dla Redis powinna również zapewniać zaplanowane i na żądanie kopie zapasowe, dzięki czemu możesz mieć pewność, że zawsze masz dostęp do regularnego harmonogramu kopii zapasowych i możesz je wykonywać w razie potrzeby przed wydarzeniem aplikacyjnym. Powinien również zapewniać opcje „przywracania kopii zapasowej” istniejących baz danych lub nowej instancji bazy danych.
Wysoka przepustowość i małe opóźnienia
Redis może zapewnić szybkie buforowanie aplikacji. Czasami jednak opóźnienie sieci może powodować wąskie gardło dostępu do danych z Redis. Kluczem jest uniknięcie fizycznego dystansu między aplikacją a Redis. Dlatego chcesz się upewnić, że zarówno aplikacja, jak i Redis są hostowane w tym samym regionie dostawcy chmury i w tej samej sieci wirtualnej. Twój dostawca usług Redis powinien mieć możliwość wdrożenia serwera Redis w wybranej sieci wirtualnej.