PHP
Hypercacher



Co to jest PHP Hypercacher i jak to działa ?

 
" PHP Hypercacher, to dość zaawansowany a jednocześnie relatywnie niezwykle prosty system zapamiętywania zawartości ostatnio używanych dynamicznie generowanych stron WWW na dysku komputera (serwera) na którym trzymane są mechanizmy, baza danych oraz cała zawartość Twojej witryny internetowej.

Przy jego opracowaniu użyłem genialnych w swojej prostocie mechanizmów, potrafiących zapewnić maksimum wydajności praktycznie każdemu systemowi webowemu stworzonemu w PHP. Projektując ten program położyłem największy nacisk na szybkość działania, niewielką złożoność algorytmów i rozmiary, co wprost nieprawdopodobnie przyśpieszyło proces uruchamiania się każdej podstrony serwisu.

Przy czym, jak już wspomniałem mechanizmy użyte przy wykonaniu PHP Hypercachera są tak podstawowe, że po poinstruowaniu może zainstalować go nawet dziecko, a po ewentualnych niewielkich modyfikacjach zadziałają absolutnie prawidłowo na prawie każdym obecnie wykorzystywanym serwisie WWW oraz CMS.

PHP Hypercacher działa automatycznie, aktywuje się w momencie gdy użytkownik odwiedza Twoją witrynę, a także sam na bieżąco, w miarę jak czytelnicy odwiedzają serwis, zapisuje, aktualizuje i kasuje stare "obrazy" odpowiednich podstron Twojego serwisu. Im bardziej użytkownicy obciążają witrynę, tym aktywniej działa PHP Hypercacher dostosowywując się i tworząc odpowiednią ilość obrazów stron WWW.

Poszerzona wersja programu ma dodatkowo zaimplementowaną dynamiczną kompresję w technologii GZIP w locie każdej wygenerowanej strony HTML/PHP, co pozwala zaoszczędzić niezwykle dużo cennego transferu. Kompresja zmniejsza rozmiar przeciętnej strony HTML, skryptu JavaScript czy Szablonu styli CSS o 60-90%, a w statystykach dużych witryn to właśnie te dane zużywają lwią część (70-80%) limitów przesyłanych danych. Jednocześnie unikalny zoptymalizowany algorytm mojego autorstwa sprawia że kompresja danych w locie nie obciąża serwera tak jak to robi zwykła kompresja GZIP, inne "dopalacze PHP" oraz funkcja Serwera Apache (MOD_GZIP).

Mało tego: nieplanowanym przeze mnie pozytywnym "efektem ubocznym" działania PHP Hypercachera jest to, iż gdy nawet któryś z podsystemów (takich jak baza MySQL, rozszerzenie/wtyczka PHP) Twojej witryny przestanie działać, wszystkie wykorzystujące niedziałającą technologię podstrony serwisu mogą się wyświetlać i funkcjonować jeszcze przez długi czas po zaistnieniu awarii. Czas ten można określić przy instalacji PHP Hypercachera.

Mankamentem tego stanu będzie fakt, iż strony serwisu podlegające awarii będą nieodświeżone i będą przedstawiać stan/wygląd serwisu sprzed awarii. "

Kamil Sofowora (zwany też: SoofMan), założyciel projektu PHP Hypercacher.


Zainstalowanie PHP Hypercachera na Twojej nawet bardzo zaawansowanej, rozbudowanej i obciążonej witrynie powoduje:

  • dziesięcio, lub nawet kilkunasto - krotne przyśpieszenie czasu ładowania się każdej strony. Po zainstalowaniu PHP Hypercachera, każda używająca go dynamicznie generowana strona będzie ładować się tak szybko jak strona wyszukiwarki Google (o ile przepustowość łącza internetowego na to pozwoli oczywiście) lub, mówiąc inaczej, prawie tak szybko jak zwykła statyczna strona HTML
  • Kilku, lub kilkunastokrotne zmniejszenie obciążenia Serwera, bazy danych oraz niektórych systemów informatycznych powiązanych z Twoją witryną
  • Zmniejszenie miesięcznego zapotrzebowania na transfer 2 do 3 razy (w wersji PHP Hypercachera z kompresją GZIP)
  • Dodatkowe zabezpieczenie przed błędami na witrynie




To niemożliwe...

A jednak: jednomiesięczne testy przeprowadzone na serwisie Nowebiuro.pl jasno udowodniły, że PHP Hypercacher w wersji GZIP zmniejszył ilość zużywanego przez serwis transferu o około 50% (pełna, całościowa statystyka transferu włącznie z grafiką i innymi plikami). Niedługo udostępnię też statystyki przedstawiające w dokładny sposób wpływ PHP Hypercachera na ilość transferu zużywanego przez ten serwis.

Testy PHP Hypercacher-GZIP na serwisie Nowebiuro.pl już się zakończyły, jednak wersja Hypercacher Standard jest nadal zainstalowana. OdwiedĽ portal już teraz, poprzeglądaj jego podstrony i zobacz co potrafi zdziałać PHP Hypercacher w praktyce.

Najlepsze w funkcjonowaniu PHP-Hypercachera jest to, że praktycznie nieistotne jest to, jak bardzo rozbudujesz swój internetowy serwis i ile dodasz nowych funkcji. Tak długo, jak PHP-Hypercacher jest w działaniu, tak długo strony WWW go używające będą się otwierać błyskawicznie.






Ale dlaczego...

 
...stworzyłem nieprzyzwoicie szybki, prosty, w pełni zautomatyzowany i oszczędzający pieniądze system ?

Ponieważ jestem prawdziwym informatykiem - fascynatem. Tworzenie coraz szybszych, skuteczniejszych i profesjonalnych rozwiązań sprawia mi ogromną przyjemność. Tak samo jak rzeĽbiarzowi i malarzowi sprawia satysfakcję stworzenie arcydzieła. Kiedy opracowałem koncepcję na której opiera się PHP Hypercacher, nawet nie miałem pojęcia że będzie działał tak błyskawicznie i efektywnie.

Co innego, gdyby PHP Hypercacher tylko działał - ale w praktyce działa on tak dobrze, że kiedy pierwszy raz uruchomiłem PHP Hypercachera na serwisie informacyjnym portalu Nowebiuro.pl wpadłem w prawdziwą ekstazę. Wtedy też wpadłem na pomysł, aby zaoferować to dzieło innym, tak aby oni również mogli odczuwać rodzaj satysfakcji podobny do tego, który ja odczuwałem podczas tworzenia PHP Hypercachera.

PHP Hypercacher to zaledwie niecała strona A4 kodu języka programowania PHP - to jest tyle co kilkuminutowa wymiana zdań ze znajomym na gadu - gadu. Mimo to nad jego tworzeniem i udoskonalaniem spędziłem kilkaset godzin. To prawdziwe arcydzieło programistycznego kunsztu.
 
...mam wiedzieć że PHP Hypercacher zadziała na moim serwisie WWW ?

Ponieważ jak już mówiłem, PHP Hypercacher został stworzony przy użyciu najprostszych, absolutnie podstawowych mechanizmów, to moge powiedzieć z 99% pewnością że zadziała, nawet bez zapoznawania się z kodem Twojej strony. Przy tworzeniu Hypercachera wykorzystałem tylko takie technologie, co do których można mieć pewność że zadziałają w prawie każdej sytuacji. Już na starcie odrzuciłem niepotrzebnie komplikujące kod i spowalniające wykonywanie programu zaawansowane struktury i funkcje.

Jestem dobrym programistą i zwykle potrafię w ciągu kilku godzin napisać wiele setek linii dobrze funkcjonującego kodu. Jednak w przypadku PHP Hypercachera, postawiłem przede wszystkim na stabilność, szybkość i totalną optymalizację.

Dlatego też właśnie spędziłem setki godzin udoskonalając te kilkanaście linii kodu, które tworzą PHP Hypercachera. Dzisiaj sam nie mogę się nadziwić do jakiej perfekcji można doprowadzić tak pozornie niewielki fragment tekstu.

Są jednak rzadkie przypadki, kiedy PHP-Hypercacher nie chce od razu działać dokładnie tak jak powinien i jego wdrożenie wymaga poświecenia większej ilości czasu przez programistę. Może tak być, jeżeli Twoja strona używa już nietypowego alternatywnego systemu przyśpieszania skryptów PHP - np. takiego, jaki używa słynna encyklopedia Wikipedia.


Kamil Sofowora (zwany też SoofMan), założyciel projektu PHP Hypercacher.





Ale jeżeli to Cię nie przekonuje...

...to moze przekona cię to, że PHP Hypercacher jest w pełni kompatybilny z następującymi znanymi i popularnymi darmowymi systemami zarządzania witryną CMS (Content Management System - System zarządzania treścią). Wybrałem tylko najbardziej liczące się CMS-y, więc nazwy kilku z nich mogły ci się obić o uszy:
  • MediaWiki 1.8.2 (tego systemu CMS używa słynna encyklopedia WikiPedia) - Działa poprawnie od wersji Hypercachera Standard 1.901 oraz 0.981 GZIP.
  • PHPBB 2.0.22 (Szalenie popularny otwarty CMS służący do tworzenia for dyskusyjnych - chyba każdy spotkał się z nim chociaż raz w internecie) - Działa poprawnie od wersji Hypercachera Standard 1.901 oraz 0.981 GZIP.
  • PHP Fusion wersja 6.0.5 (Bardzo popularny i łatwy w zarządzaniu CMS wykorzystywany często do niekomercyjnych zastosowań)
  • Joomla! wersja 1.0.11 (Bardzo rozbudowany i szalenie popularny system CMS, szczególnie w komercyjnych, profesjonalnych rozwiązaniach. Zbudowany na podstawie kodu Mambo)
  • Mambo wersja 4.6.1 (Prekursor Joomla! Także bardzo popularny w komercyjnych kręgach)
  • PHP Nuke wersja 7.9 (Kiedyś bardzo popularny. Jeden z pierwszych CMSów dostępnych dla języka PHP)
  • Wordpress wersja 2.0.5 (Bardzo popularny CMS służący do tworzenia osobistych blogów)
  • Simple Machines Forum 1.1.3 (Popularny CMS używany do for dyskusyjnych)
  • Drupal wersja 2.5
  • BtitTracker 1.4 By BitTeam (Otwarty CMS z wbudowanym trackerem BitTorrent, jeden z bardzo niewielu [i chyba jedyny darmowy] z CMSów tego typu na rynku)
  • [ możesz dopisać tutaj CMS, którego teraz używasz - po niewielkiej konfiguracji prawie na pewno zadziała :) ]
Testy pozostałych znanych popularnych CMSów są w drodze. Możesz też zaproponować mi przetestowanie CMS, którego teraz używasz. Zamieszczę go na stronie testowej i będziesz mógł zobaczyć jak szybko działa z użyciem PHP Hypercachera.





Jaka jest licencja ?

Postanowiłem wydać PHP Hypercachera na Licencji GPL w wersji 3 lub późniejszej.

- Wybierając PHP Hypercachera skorzystasz z dynamicznego rozwoju, jaki daje otwartość kodu.
- Masz pełną wolność w wykorzystaniu, modyfikacji i dostosowywaniu mojego wynalazku do potrzeb Twojej witryny.

Możesz przyłączyć się już teraz do rozwoju tego projektu i uczynić PHP Hypercachera jeszcze lepszym !





A teraz trochę techniki...


Każdy ze skryptów PHP Hypercachera...

... w całości składa się z zaledwie niecałej strony A4 skryptu PHP. Instalacja polega najczęściej na wklejeniu dwóch kawałków kodu w miejscach, gdzie zaczyna i kończy wykonywać się kod Twojej witryny WWW generujący wygląd każdej strony (np. w nagłówku i stopce). Jest to niezwykle proste. Zobacz więcej w dokumentacji

... w wersji Standard jest kompatybilny z wersjami PHP od 4.2.0 wzwyż, a w wersji GZIP z wersjami PHP od 4.3.0 wzwyż

... nie wymaga od PHP żadnych dodatkowych modułów, jednak do funkcjonowania kompresji GZIP, PHP Hypercacher wymaga biblioteki ZLIB, dostępnej praktycznie w każdym (nawet najtańszym) obecnie oferowanym pakiecie hostingowym

... nie wymaga żadnego cyklicznego uruchamiania skryptów z CRONa

... jest w pełni zautomatyzowany i bezobsługowy - działa w miarę jak użytkownicy odwiedzają Twoją witrynę. Po zainstalowaniu nie wymaga już poświęcania konfiguracji żadnego dodatkowego czasu

... jest niezwykle prosty w obsłudze i instalacji. Tak prosty, że mógłbyś polecić jego instalację 10-letniemu dziecku.

... ze względu na swoją prostą, a jednocześnie efektywną konstrukcję, jest niezwykle odporny na błędy i niekompatybilności. W razie awarii możesz być pewien, że PHP Hypercacher jako ostatni przestanie działać. Zwykle jest tak, że jeżeli PHP zadziała, to PHP Hypercacher także zadziała

... działa tak, aby efekty jego działania nie były widoczne dla użytkownika. Nawet jeżeli wystąpi jakiś niewielki błąd, użytkownik tego nie zauważy, gdyż uszkodzone funkcje PHP Hypercachera zostaną automatycznie wyłączone i strona wyświetli się tak, jak gdyby PHP Hypercacher nie istniał.

... w razie częściowej awarii bazy danych lub jakiegoś modułu PHP, pokazuje internaucie odwiedzającemu Twoją witrynę ostatni obraz danej podstrony, jaki został wcześniej wygenerowany, tak że wizytujący nie zdaje sobie sprawy że zaszła jakaś awaria. Oczwyiście jest tak tylko w przypadku, jeżeli obraz tej podstrony już istnieje i nie jest "przeterminowany" (co zależy od ustawionego czasu odświeżania).





Zobacz też...



Best viewed with Firefox Powered by Linux No software patents Licensed under GPL