Redis to otwarty (licencjonowany przez BSD) magazyn struktury danych w pamięci, używany jako baza danych, pamięć podręczna i broker komunikatów. Redis udostępnia struktury danych, takie jak ciągi znaków, skróty, listy, zbiory, posortowane zestawy z zapytaniami o zakres, mapy bitowe, hiperlogogi, indeksy geoprzestrzenne. Redis ma wbudowaną replikację, skrypty Lua, eksmisję LRU, transakcje i różne poziomy trwałości na dysku oraz zapewnia wysoką dostępność za pośrednictwem Redis Sentinel i automatycznego partycjonowania za pomocą klastra Redis.

Na tych typach można wykonywać niepodzielne operacje, takie jak dołączanie do łańcucha; zwiększanie wartości w skrócie; wypychanie elementu na listę; przecięcie zbioru obliczeniowego, suma i różnica; lub zdobycie członka o najwyższym rankingu w posortowanym zestawie.

Aby osiągnąć najwyższą wydajność, Redis współpracuje z zestawem danych w pamięci. W zależności od przypadku użycia można utrwalać dane, okresowo zrzucając zestaw danych na dysk lub dołączając każde polecenie do dziennika dyskowego. Możesz również wyłączyć utrwalanie, jeśli potrzebujesz tylko bogatej w funkcje, sieciowej pamięci podręcznej w pamięci.

Redis obsługuje również replikację asynchroniczną, z bardzo szybką, nieblokującą pierwszą synchronizacją, automatycznym ponownym połączeniem z częściową ponowną synchronizacją przy podziale sieci.

Domyślnie Redis przechowuje dane w pamięci, domyślnie z okresowym utrwalaniem dysku. Ponieważ Redis utrwala dane na dysku, może służyć jako klasyczna baza danych w wielu przypadkach, a także jako pamięć podręczna. Gdy jest pełny, Redis zwróci klientowi błąd, ale można go skonfigurować jako pamięć podręczną, aby wysyłać starsze i mniej ważne dane, gdy napływają nowe dane. W obu przypadkach głównym ograniczeniem jej wykorzystania jest rozmiar dostępnej pamięci.

Redis jest powszechnie używany jako pamięć podręczna do przechowywania często używanych danych w pamięci, dzięki czemu aplikacje mogą reagować na użytkowników. Dzięki możliwości określenia, jak długo chcesz przechowywać dane i które dane mają być eksmitowane jako pierwsze, Redis udostępnia szereg inteligentnych wzorców buforowania.

Jaki wpływ na szybkość ładowania strony ma Redis?

W zależności od środowiska webowego, możemy zauważyć zwiększoną wydajność aplikacji WordPress, co przekłada się na niższe czasy ładowania poszczególnych podstron oraz unormowanie maksymalnych czasów ładowania.
Każdy test trwał 60 minut.

Nazwa.pl – Apache – Redis włączony (ON) #1

  • Średni czas ładowanie strony – 265 milisekund

Nazwa.pl – Apache – Redis włączony (ON) #2

Zauważalny problem z ładowaniem strony głównej, ale reszta podstron ładuje się bezbłędnie. Wina po stronie serwera?

  • Średni czas ładowanie strony – 455 milisekund

Nazwa.pl – Apache – Redis włączony (ON) #3

Kontynuacja problemu z ładowaniem strony głównej.

  • Średni czas ładowanie strony – 361 milisekund

Nazwa.pl – Apache – Redis włączony (ON) #4

  • Średni czas ładowanie strony – 270 milisekund

Nazwa.pl – Apache – Redis wyłączony (OFF) #1

  • Średni czas ładowania strony – 358 milisekund

Nazwa.pl – Apache – Redis wyłączony (OFF) #2

  • Średni czas ładowania strony – 416 milisekund

Webd.pl – Litespeed – Redis włączony (ON) #1

  • Średni czas ładowania strony – 451 milisekund

Webd.pl – Litespeed – Redis włączony (ON) #2

  • Średni czas ładowania strony – 367 milisekund
  • Niski czas interwału czasowego na pierwszym obrazku

Webd.pl – Litespeed – Redis wyłączony (OFF) #1

  • Średni czas ładowania strony – 484 milisekund

Webd.pl – Litespeed – Redis wyłączony (OFF) #2

  • Średni czas ładowania strony – 402 milisekund

Mydevil.net – Apache/N-G-I-N-X – Redis włączony (ON) #1

  • Średni czas ładowania strony – 398 milisekund

Mydevil.net – Apache/N-G-I-N-X – Redis włączony (ON) #2

  • Średni czas ładowania strony – 392 milisekund
  • Wykres z prawej strony ma rozciągniętą skalę do 10000 milisekund, podczas, gdy wynik z testu #1 ma skale 3000 milisekund. Niech was to nie zmyli.

Mydevil.net – Apache/N-G-I-N-X – Redis wyłączony (OFF) #1

  • Średni czas ładowania strony – 475 milisekund

Cyber_folks.pl – Litespeed – Redis włączony (ON) #1

  • Średni czas ładowania strony – 513 milisekund

Cyber_folks.pl – Litespeed – Redis włączony (ON) #2

  • Średni czas ładowania strony – 524 milisekund

Cyber_folks.pl – Litespeed – Redis wyłączony (OFF) #1

  • Średni czas ładowania strony – 561 milisekund

Szczegółowe wyniki znajdziecie w Google Docs.

Podobne wpisy

5 1 ocena
Zostaw ocenę!
Subscribe
Powiadom o
guest
10 komentarzy
Najstarsze
Najnowsze Najwyżej oceniane
Inline Feedbacks
View all comments
Robert
Robert
3 lat temu

Ciekawe porównanie. Kiedy wykonasz nowe testy dla wszystkich dostawców z Redisem? Bo widać że nie korzystając z Redisa pokrzywdziłeś wszystkich którzy korzystają z Apacha/Nginxa faworyzując konfiguracje oparte o Litespeed.

Maciej Wiśniewski
Maciej Wiśniewski
Admin
Reply to  Robert
3 lat temu

Wszystkich dostawców z Redisem? Przecież ich jest garstka w aktualnej edycji rankingu i właśnie można na nich popatrzeć w tym osobnym teście. W tym teście miał się pojawić również Dhosting, ale niestety, Redis nigdy się nie uruchomił, próbowałem odpalić Redisa dwa razy na ich serwerach.
Można sobie za to przyjąć zasadę, że hosting, który oferuje Redis/Memcached, będzie miał jakąś ~10-15% przewagę w wydajności nad hostingiem, który nie oferuje Redisa/Memcached.

Robert
Robert
Reply to  Maciej Wiśniewski
3 lat temu

Skoro ci dostawcy dostarczają Redis/Memcached to powinieneś go u nich używać. Bo inaczej to faworyzujesz hostingi z Litespeed które robią podobne cachowanie podobne do Redis/Memcached tyle, że na poziomie cache serwera. Skoro Redis/Memcached przyspiesza działanie stron, to powinien być udostępniany przez wszystkie firmy hostingowe.

ps. Pisze drugi raz komentarz, bo za pierwszym razem chyba mi go nie przyjęło.

Robert
Robert
Reply to  Maciej Wiśniewski
3 lat temu

Powinieneś wykorzystać wszystkie metody optymalizacji, które dostarczają firmy hostingowe. Inaczej Twoje porównanie nie ma sensu, gdyż celowo obniżasz wydajność tych firm, które dostarczają Redis/Memcached, faworyzując w teście jedynie moduł i cache w Litespeed, który wykorzystuje podobne cachowanie do Redis/Memcached. Skoro zastosowanie Redis/Memcached przyspiesza działanie serwisów to powinna go udostępniać każda firma hostingowa.

Maciej Wiśniewski
Maciej Wiśniewski
Admin
Reply to  Robert
3 lat temu

Litespeed nie wykorzystuje żadnego, podobnego cachowanie do Redis/Memcached. Może również korzystać z Redis/Memcached, jeżeli usługodawca go udostępnia, ale defaultowo jest wyłączony, więc każdy hosting miał wyrównane szanse.
Większość hostingów nie udostępnia Redisa/Memcached.

Robert
Robert
Reply to  Maciej Wiśniewski
3 lat temu

Bazując na dokumentacji, Litespeed dokonuje jednak optymalizacji zapytań do bazy:

„ Database Optimization

Keeps the WordPress database slim, trim, and as efficient as possible.

Speeds up database queries by eliminating the clutter that accumulates over time.
Eliminates the need for a separate database optimization plugin.„

Jeżeli udało Ci się aktywować Redisa w powyższych firmach i wykonać testy to chyba jego aktywacja nie było aż taka trudna. Tym bardziej że przecież musiałeś również ustawić wszystkim Opcache i tą samą wersję PHP. A skoro dzisiaj już wiesz że wyniki z Redis są lepsze to powinieneś je opublikować w głównym zestawieniu. W końcu celem tych testów jest sprawdzenie szybkości hostingu w każdej firmie, bazując na narzędziach dostępnych w pakiecie. Może zachęci to inne firmy do wdrożenia Redis/Memcached?

Maciej Wiśniewski
Maciej Wiśniewski
Admin
Reply to  Robert
3 lat temu

na jednym hostingu było łatwiej uruchomić Redisa, na innych trudniej, co nie oznacza, że można go uruchomić na każdym hostingu. Optymalizacje bazy danych z litespeed, a Redis, to nie to samo.
Testy były przeprowadzone bez redisa na wszystkich hostingach, żeby były relatywnie miarodajne.

Robert
Robert
Reply to  Maciej Wiśniewski
3 lat temu

Oczywiście że optymalizacja w Redis i Litespeed to nie to samo, ale skoro nie chciałeś korzystać z cachowania zapytań na Litespeed, to nie powinieneś wykorzystywać wtyczki lscache która jednak korzysta z optymalizacji zapytań do bazy danych. Dziwie się wiec, że po zrobieniu testów z Redis u tych dostawców którzy go oferują, nie przedstawiasz tych wyników w głównym zestawieniu. To przecież nie jest ich wina, że od razu nie włączyłeś cache, który był dostępny w planie hostingowym. Wcześniej można by to odczytać jako Twoją niewiedzę, ale teraz to już celowe działanie aby nie przedstawić najlepszego wyniku u tych dostawców.

Maciej Wiśniewski
Maciej Wiśniewski
Admin
Reply to  Robert
3 lat temu

w litespeed nie ma żadnego cachowania zapytań do bazy danych, optymalizacje polegają na czyszczeniu bazy danych z rewizji postów. Tak jak pisałem wcześniej, redis, a optymalizacje litespeed, to dwie, bardzo różne bajki.

Michał
Michał
3 lat temu

Super zestawienie. Dzięki!