SourceForge.net Logo    Support This Project
Zobacz też:

Reklama za darmo    Forum    Testy CMSów    Pobieranie    Kontakt    Rozwijaj projekt   

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), autor 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. Zobacz także moje strony testowe CMSów, aby zobaczyć jak funkcjonują z PHP Hypercacherem popularne i znane darmowe systemy zarządzania treścią.

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), autor 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.



A teraz przygotuj się na mocne uderzenie !

 

Zachęcony zwiększonymi możliwościami szybkiej popularyzacji i szybszego rozwoju mojego programu, postanowiłem wydawać kolejne wersje PHP Hypercachera i PHP-Hypercachera GZIP na Licencji GPL w wersji 2 lub późniejszej.

Pobranie wersji PHP Hypercacher Standard oraz PHP Hypercacher Refresher Standard jest przy tym całkowicie darmowe.

PHP Hypercacher oraz PHP Hypercacher-GZIP to od teraz oficjalnie WOLNE oprogramowanie o otwartych źródłach (Open Source).


Co to oznacza dla Ciebie?

- Wszystkie wersje PHP Hypercachera Standard (wersja bez kompresji GZIP) są od dzisiaj wolnodostępne do pobrania.
- Możesz dowolnie testować funkcjonowanie PHP-Hypercachera na swojej witrynie !
- 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 !




Zobacz też...





A teraz trochę techniki...


PHP Hypercacher Refresher a wersja bazowa PHP Hypercachera

PHP Hypercacher Refresher jest modyfikacją PHP Hypercachera Standard oraz GZIP, stworzoną z myślą o witrynach, które bezwzględnie potrzebują natychmiastowej aktualizacji wszystkich stron zaraz po tym kiedy użytkownicy je wprowadzą. (Np. często odwiedzane fora, CMSy i fora z funkcją SHOUTBOX, czaty napisane w PHP itd.)

Odmiennie od "zwykłego" PHP Hypercachera, w PHP Hypercacherze Refresher oraz PHP Hypercacherze Refresher GZIP aktualizacja wyglądu strony następuje natychmiastowo, za każdym razem kiedy użytkownik wyśle formularz mogący zmienić dane na stronie. Także jeżeli użytkownik np. zaloguje się, to dane wszystkich stron będą autmatycznie odświeżone.

Zalety PHP Hypercachera Refresher w stosunku do wersji bazowej PHP Hypercachera:

  • Szybsza Aktualizacja: W przeciwieństwie do wersji bazowej PHP Hypercachera gdzie aktualizacja każdej strony następuje automatycznie co określoną ilość sekund, z użyciem PHP Hypercachera Refresher aktualizacja każdej strony umieszczonej w pamięci podręcznej następuje natychmiastowo po tym jak dowolny użytkownik dokona zmiany.
  • Zbliżona szybkość i podobna wydajność algorytmu: Algorytm funkcjonowania PHP Hypercachera Refresher jest prawie identyczny jak zwykłego PHP Hypercachera. Jeżeli użytkownicy nie dokonują zmian na stronach serwisu zbyt często (tzn. tak samo często lub rzadziej niż wynosi wartośc zmiennej cache refresh), to funkcjonowanie PHP Hypercachera Refresher będzie praktycznie identyczne pod względem prędkości jak wersji bazowej.

Wady PHP Hypercachera Refresher w stosunku do wersji bazowej PHP Hypercachera:

  • Możliwy wzrost obciążenia witryny: Jeżeli użytkownicy będą dokonywać bardzo częstych zmian na stronach twojego serwisu (np. forum, shoutbox), to przyśpieszenie wywołane użyciem PHP Hypercachera Refresher będzie słabsze i mniej zauważalne, niż przy użyciu wersji bazowej PHP Hypercachera.
  • Większa wrażliwość na przeciążenie serwera: W wymienionym powyżej przypadku, jeżeli użytkownicy będą często dokonywać zmian na witrynie, to w krytycznych momentach godzin szczytu obciążenie serwera może znacząco wzrosnąć. Niedogodność ta nie występuje w bazowej wersji PHP Hypercachera, gdzie wzrost obciążenia przy intensywnym użytkowaniu witryny przez użytkowników jest znacznie mniejszy.
  • Większa zużycie miejsca na dysku: W wypadku jeżeli użytkownicy często modyfikują zawartość witryny, ilość używanego przez PHP Hypercachera jako pamięci podręcznej miejsca na dysku może znacząco wzrosnąć, chociaż w przypadku Hypercachera Refresher GZIP są to nadal niewielkie ilości liczone w dziesiątkach MB dla serwisu o kilku milionach odsłon miesięcznie (testowane przez kilka miesięcy na witrynie Nowebiuro.pl).


Więcej o PHP Hypercacherze

PHP Hypercacher jest niezwykle zoptymalizowanym pod względem wydajności, rozmiarów i prostoty zestawem skryptów PHP.

Skrypty z rodziny PHP Hypercacher dzielą się na:

  • PHP Hypercacher Standard - wersja standardowa, tylko przyśpieszająca funkcjonowanie Twojej witryny. Licencja : GPL wersja 2 lub późniejsza. Pobierz tutaj
  • PHP Hypercacher GZIP - wersja z kompresją GZIP, potwornie przyśpieszająca działanie Twojej witryny, oszczedzająca transfer, jednocześnie w absolutnie minimalnym stopniu obciążająca sprzęt. Licencja: GPL wersja 2 lub późniejsza.

Oraz modyfikacje wersji bazowych - PHP Hypercacher Refresher

  • PHP Hypercacher Refresher Standard - modyfikacja wersji Standard Hypercachera.
  • PHP Hypercacher Refresher GZIP - modyfikacja wersji GZIP Hypercachera.



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

... nie ładuje żadnych zewnętrznych plików poprzez polecenia include() czy require()

... 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 używa języka obiektowego

... nie wymaga od PHP żadnych dodatkowych modułów, jednak wersja PHP Hypercacher-GZIP 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).

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