LiteSpeed - oprogramowanie hostingowe z najlepszymi cechami obu światów
Serwery są pamięcią internetu. Na całym świecie, hostery przechowywać i zarządzać treścią z witryn, które zostały hostowane przez nich. Czekają one na pobranie przez zainteresowanych, aby znaleźć się gdzieś w świecie na ekranie do wyświetlania tej strony ze wszystkimi jej stworzonymi funkcjami. Aby odbywało się to szybko i bez strat, każdy serwer internetowy potrzebuje własnego oprogramowania, które może zarządzać, pobierać i przesyłać masy przechowywanych informacji. Jednym z nich jest LiteSpeed, choć nie jest on najbardziej dominujący. W ciągu ostatnich kilku lat, udział LiteSpeed w użyciu przez serwery internetowe stale wzrastał. W lecie 2021 roku znajdował się na 10 % wszystkich serwerów internetowych, co daje mu czwarte miejsce pod względem popularności wśród konkurentów. LiteSpeed Web Server nie jest ogólnodostępnym oprogramowaniem serwera WWW, lecz jest rozprowadzany na licencji przez LiteSpeed Technologies. Jednakże, istnieje również darmowy wariant open source o nazwie 'OpenLiteSpeed'.
Krótkie spojrzenie wstecz na rozwój LiteSpeed
Firma LiteSpeed Technologies została założona w 2002 roku z liderem zespołu George'em Wangiem na czele. Pierwszy serwer internetowy LiteSpeed został oficjalnie wprowadzony na rynek 1 lipca 2003 r. jako w pełni funkcjonalny serwer internetowy. W 2007 r. nazwa została zmieniona na LiteSpeed Web Server Enterprise, oprogramowanie zostało skonfigurowane jako kompatybilny zamiennik Apache, innego oprogramowania serwera WWW. W tym samym roku nastąpiła integracja cPanelu, DirectAdmin i Plesk zakończone. Nowa generacja dla stron internetowych HTTP/2 była obsługiwana od wersji 5.0 w 2015 roku, a najnowsza generacja HTTP/3 została dodana w lipcu 2019 roku. Mówi się, że był to pierwszy serwer internetowy obsługujący protokół HTTP/3 wśród wszystkich dostawców serwerów internetowych. LiteSpeed Web Server oferuje wsparcie dla QUIC od 2017 roku. Aktualizacja do wersji 6.0 rozpoczęła się pod koniec marca 2021 r. Aktualny numer najnowszej wersji LiteSpeed to 6.0.10. datowany na 21 października 2021 r. LiteSpeed jest napisany w językach programowania C i C++. Działa na systemach operacyjnych Linux, takich jak CloudLinux, AlmaLinux, Centos, Fedora, Bebian,Ubuntu na FreeBSD z Unixem i Red Hat od IBM.
Konkurowanie z Apache i Nginx
W kwietniu 2020 roku, LiteSpeed był używany na 69 % wszystkich stron QUIC, jak również na 47,6 % wszystkich stron, które już wtedy używały HTTP/3. Kompatybilność z powszechnie używanym Apache z pewnością odgrywa tutaj rolę. W końcu 60 % wszystkich stron internetowych zarządzanych przez Linuksa (stan na wrzesień 2021) jest wyprowadzanych przez Apache lub Nginx. LiteSpeed jest w stanie bezpośrednio załadować konfigurację Apache i tym samym pracować jak Apache, a jednocześnie można go znaleźć w pełni zintegrowanego z powszechnie używanymi kontrolkami systemowymi. Jednakże, podczas gdy zastępuje funkcje Apache 1:1, LiteSpeed, podobnie jak Nginx, używa podejścia opartego na zdarzeniach do obsługi żądań. Apache, z drugiej strony, jest zorientowany na procesy. Firma LiteSpeed od zawsze dążyła do tego, aby jej rozwój skupiał się na wydajności. Jest to zauważalne w porównaniu z Apache i Nginx. Podczas gdy LiteSpeed może obsługiwać plik .htaccess Apache'a, Nginx nie może nic z nim zrobić i wymaga własnej konfiguracji. W przypadku LiteSpeed, znaczny wzrost wydajności, a także Skrócony czas reakcji i większą skalowalność.
Optymalizacja wydajności za pomocą LiteSpeed
Ta zorientowana na zdarzenia architektura serwera WWW staje się coraz bardziej popularna tam, gdzie wydajność jest czynnikiem decydującym. Zarządzanie zasobami jest przycięte do granic możliwości, co znacznie zmniejsza zapotrzebowanie na przetwarzanie danych przez procesor i pamięć RAM dla strony internetowej. Tysiące połączeń mogą być obsługiwane jednocześnie przy minimalnym wykorzystaniu zasobów, bez konieczności ustępstw w zakresie kompatybilności czy bezpieczeństwa. Znacznie zmniejsza się zapotrzebowanie na zasoby, co wynika z orientacji na zdarzenia zamiast orientacji na procesy. LiteSpeed ma to wspólnego z konkurencyjnym oprogramowaniem Nginx, ale jednocześnie nie rezygnuje z grubego plusa korzyści poprzez kompatybilność z komendami Apache. Czyli, że tak powiem, najlepsze z dwóch światów w połączeniu. Ściśle mówiąc, skrypty napisane dla Apache nie muszą być nawet przeformułowane dla LiteSpeed, ponieważ mogą być przez niego przetwarzane. W praktyce wiele stron internetowych używa pliku .htaccess do kontroli żądań. Litespeed obsługuje 100% Apache i dlatego może również obsługiwać pliki .htaccess. Przejście z Apache na Litespeed jest więc możliwe w ciągu kilku minut.
Google cieszy się z szybkiego ładowania
Nie tylko operator strony jest zadowolony z szybkich czasów ładowania, ale również z oceny przez Google pod kątem rankingu wyników wyszukiwania. Ci, którzy są dostępni szybciej, kończą dalej. W wyścigu o najlepsze pozycje warto więc zwrócić uwagę na wydajność oprogramowania serwera WWW - i tu właśnie leży jedna z mocnych stron LiteSpeed. W przypadku podstawy zorientowanej na proces, dla każdego nawiązanego połączenia tworzony jest oddzielny proces. Jeśli wiele z nich pojawi się w tym samym czasie, ucierpi na tym wydajność, ponieważ serwer będzie szybciej wykorzystywał swoje zasoby. Inaczej jest w przypadku procesu sterowanego zdarzeniami. Tutaj wszystkie połączenia są łączone w jeden proces, co oczywiście oszczędza zasoby. Sprzęt musi być mniej wystawny, przez co mniej kosztuje operatora serwera, a ataki DDoS mogą być lepiej przechwytywane. Ataki DDoS są niebezpieczne, ponieważ mogą doprowadzić do zatrzymania pracy całych serwerów poprzez celowe przeciążenie ich ogromną liczbą nierozwiązywalnych żądań. Ochrona przed nimi jest więc więcej niż pożądana. LiteSpeed robi to poprzez ograniczenie adresów IP zidentyfikowanych jako atakujące, używa reCAPTCHA po stronie serwera, które wymaga interwencji człowieka, oraz używa zoptymalizowanej ochrony ModSecurity i renegocjacji SSL.
Praca z QUIC i HTTP/3
Bez Hypertext Transfer Protocol - HTTP - nic nie działa w Internecie. Standard powstał w 1991 roku jako norma ładowania stron internetowych i był udoskonalany w 1999, 2015 i 2016 roku przez nowe generacje kolejno do HTTP/1.1, HTTP/2 i HTTP/3. Ta ostatnia duża aktualizacja przetwarzała dane z Google i wprowadziła protokół QUIC. LiteSpeed był jednym z pierwszych serwerów internetowych, który dostosował się do nowej technologii. HTTP/3 jest nadal kompatybilny wstecz i pozwala przeglądarce przełączyć się na HTTP/2 lub nawet dalej, jeśli strona nie obsługuje nowego standardu, ale ze względu na wydajność nie powinieneś obywać się bez HTTP/3. QUIC jest nowym protokołem transportowym opartym na UDP, który przezwycięża niedoskonałości TCP i TLS szyfrowanie w HTTP/2.
LSCache z zawartością statyczną
Zasadą jest, że żądania na serwerze są obsługiwane w taki sposób, że przy każdym wywołaniu dane są ładowane z dysku twardego serwera i udostępniane żądającemu. Mimo że czasy dostępu zostały skrócone dzięki nowszym technologiom pamięci masowej, takim jak pamięć masowa SSD, w przypadku dużych instalacji o charakterze dynamicznym nadal występuje wąskie gardło, jeśli informacji nie można odczytać z nośnika pamięci masowej tak szybko, jak byłoby to konieczne. Odciążenie serwera WWW jest osiągane poprzez buforowanie stron internetowych - i tu właśnie wkracza LSCache. Po pobraniu przez żądanie, informacja nie jest porzucana, ale przechowywana w pamięci podręcznej. Jeśli ta sama informacja zostanie ponownie zażądana, jest ona dostępna szybciej i nie ma potrzeby sięgania do bazy danych.
LSCache z dynamiczną zawartością
Jeszcze ważniejsze jest to, że LSCachejeśli nie chcesz zajmować się statyczną zawartością strony poprzez buforowanie w pamięci RAM, ale dynamiczną. Pamięć podręczna potrzebuje instrukcji, jak sobie z tym poradzić. Mogą to być treści, które są przypisane tylko do konkretnego użytkownika, np. koszyk w sklepie internetowym. Albo jeszcze bardziej wrażliwe, przechowywane dane bankowe. Takie dane nie mogą być nigdy nieumyślnie przekazane innemu użytkownikowi poprzez cache. Znane cache'e internetowe takie jak Varnish, Nginx czy Apache muszą być ustawione z dużą ostrożnością i wiedzą techniczną. Dlatego też często ich brakuje lub są nieprawidłowo skonfigurowane. LSCache od LiteSpeed, z drugiej strony, jest łatwy do skonfigurowania; z kilkoma CMS, można to zrobić w kilku krokach. Do LSCache nie trzeba dostosowywać żadnych skryptów, wystarczy aktywować plugin LSCache w aplikacji internetowej. Oprócz buforowania w pamięci RAM jest to połączone z optymalizacją, która kompresuje pliki CSS, HTML i Java w celu uzyskania dodatkowej prędkości i wyświetla tylko te funkcje danej strony, które są wymagane do wyświetlenia. Pozwala to zaoszczędzić nieużywany kod CSS.
LSCache i Magento
Dla LSCache nie ma ograniczeń co do ilości obiektów, które mogą być jednocześnie edytowane i buforowane. Obsługiwane aplikacje obejmują WordPress, Joomla, Prestashop, Opencart, Xenforo i Drupal. Sprawa komplikuje się jednak, gdy na serwerze ma być hostowane Magento. Począwszy od licencji Site Owner (patrz rozdział o licencjach), LiteMage Starter może być wybrany jako dodatek do LSCache, bez dodatkowych opłat. LiteMage jest rodzajem specjalnego LSCache dla sklepów internetowych Magento. Tutaj możesz wybrać pomiędzy LiteMage Starter, który może obsłużyć do 1500 obiektów Magento, a LiteMage Standard, który gwarantuje klientowi kolejny najwyższy próg maksymalnie 25000 obiektów Magento. LiteMage Unlimited w końcu nie zna górnych granic, ani dla czystego LSCache, ani dla liczby obiektów Magento. Zarówno Magento 1 jak i Magento 2 mają swoje własne wtyczki LiteMage.
OpenLiteSpeed - wariant open source, co oferuje?
Wersja LiteSpeed jest w drodze jako wariant open source i nic nie kosztuje. Jest to przydatne dla prywatnych stron, które nie zmieniają się często. Aby załadować plik .htaccess, OpenLiteSpeed musiałby być najpierw zrestartowany. Cache jest nieco odchudzony w stosunku do wersji serwera WWW, zamiast pełnej kompatybilności z Apache otrzymujemy kompatybilne z Apache reguły przepisywania z OpenLiteSpeed. Kompatybilność z CyberPanel i DirectAdmin jest podana, ale jeszcze nie z cPanel i Plesk. Wsparcie jest ograniczone do ekspertyzy, której może udzielić społeczność użytkowników, pełne wsparcie pro jest zarezerwowane dla wyższych wersji. SSL offloading i ochrona przed atakami brute force WordPress nie są jeszcze dostępne dla OpenLiteSpeed. Magento 1 i Magento 2, także PrestaShop i Shopware nie są wspierane przez wtyczki. Również Edge Side Includes (ESI) jako narzędzie pozwalające twórcom stron internetowych na wydzielenie części strony do osobnego przetwarzania nie jest obecne w OpenLiteSpeed. LiteSpeed jest również dostępny z licencjami próbnymi, które są ważne przez 15 dni - w tym celu oferowany jest program "Web Host Professional" z LiteMage Unlimited + LSCache.
Wszechstronne modele licencjonowania
W LiteSpeed Technologies, aplikacja LiteSpeed dla pojedynczej domeny (najwyższego poziomu), ograniczona do 2 GB objętości danych, na początku nie kosztuje nic, jako licencja na pakiet startowy. Powyżej znajdują się zróżnicowane ceny w zależności od zakresu funkcji i wielkości zapotrzebowania na serwer WWW. Po "Free Starter", rozróżnia się licencje "Site Owner" i "Site Owner Plus", a dla firm hostingowych pakiety "Web Host" Lite / Essential / Professional / Enterprise / Elite. Domeny są ograniczone do pięciu dla wersji 'Site Owner', z 8 GB lub nieograniczoną ilością pamięci RAM. Podczas gdy "Web Host Lite" jest również ograniczony do 8 GB RAM, wszystkie inne licencje "Web Host" są nieograniczone w liczbie domen i wykorzystaniu RAM, ich różnice polegają na procesach roboczych - liczba ta wynosi 1 dla wszystkich licencji niższego poziomu - od "Web Host Professional" liczba ta wzrasta z 2 (Professional) do 4 (Enterprise), lub jest konfigurowalna (Elite). Jeśli spróbujesz uruchomić licencję LiteSpeed na serwerze WWW z większą ilością pamięci RAM, niż pozwala na to dana licencja, otrzymasz komunikat o błędzie. Zawsze istnieje możliwość zmiany licencji w górę lub w dół, jeśli funkcje są zbyt małe lub zbyt duże dla hostingu. LiteSpeed oferuje zarówno leasing jak i zakup (własność) licencji, w tym drugim przypadku z rocznym okresem bezpłatnych aktualizacji. Niemiec Partner Litespeed jest webhoster.de AG, który używa Litespeed Enterprise Server dla swoich serwerów hostingowych i zarządzanych.