Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt] PHP Hypercacher - nowy cacher do skryptów PHP, Przyśpiesz swoją stronę
SoofMan
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.04.2007
Skąd: klikash ? A stond, z tamtond, ze wszond

Ostrzeżenie: (0%)
-----


uwaga: wiadomość została wysłana po konsultacji z administracją forum
------------------------------------------------------

Witam radośnie wszystkich forumowiczów.


Chciałbym Wam zaproponować do oceny mój program, MODa, czy jak to nazwać - o nazwie PHP Hypercacher. Proszę w zasadzie nie tylko o ocenę, ale o konstruktywną krytykę i (ewentualnie) dorzucenie swojego kodu/swoich zmian do projektu i zmienianie tego co Wam się nie podoba.

Pamiętajcie - to jest wolne oprogramowanie (GPL). Nie podoba się ? Masz pełną wolność używania, modyfikacji, dostosowywania do siebie.

Do czego służy ? Do przyśpieszania wszelakiego rodzaju witryn napisanych w PHP. Skrypty PHP Hypercachera zostały tak zaprojektowane, aby zmaksymilizować kompatybilność z różnymi skryptami PHP, czego dowodem może być to, że działa z następującymi CMSami :

* PHP Fusion wersja 6.0.5
* MediaWiki 1.8.2 (WikiPedia)
* PHPBB 2.0.22
* Joomla! wersja 1.0.11 (popularny w komercyjnych kręgach otwarty CMS - oparty na Mambo)
* Mambo wersja 4.6.1
* PHP Nuke wersja 7.9
* Wordpress wersja 2.0.5 (do blogów)
* BtitTracker 1.4 By BitTeam
* [dopisz tutaj jakiego CMSa chcesz - po niewielkiej modyfikacji powinien na 100% zadziałać]


Co robi ten mod ? Przyśpiesza działanie każdego z CMSów i witryn WWW.

Każdy skrypt z rodziny PHP-Hypercacher :
- Zmniejsza obciążenie serwera HTTP
- Zmniejsza obciążenie bazy MySQL
- Jest bardzo prosty w konstrukcji i bardzo prosty w instalacji.


Zachęcam gorąco do pobierania i zabawy z moim programem oraz przyłączenia się do rozwoju mojego projektu.


Strona wyjaśniająca czym jest PHP Hypercacher:
http://tinyurl.com/2stq4j


Adres bezpośredni do ściągnięcia PHP-Hypercachera:
http://tinyurl.com/2thp6t


Paczka do pobrania zawiera nie tylko PHP-Hypercachera, ale i PEŁNĄ DOKUMENTACJĘ w formacie ODF (wymagane OpenOffice). Jak mówiłem, instalacja tego MODa jest banalna, więc NIKT z was nie będzie miał z tym problemów. Instalacja polega najczęściej na wklejeniu dwóch fragmentów kodu w dwóch różnych miejscach w waszym serwisie. Nie trzeba kopiować żadnych plików, nie trzeba grzebać w bazie, żadnych includów, żadnych obiektów - nic.

Paczka zawiera też instrukcje instalacyjne do najpopularniejszych CMSów wymienionych powyżej.


Jeżeli ktoś chce zobaczyć jak działa PHP-Hypercacher GZIP z PHP-Fusion, Joomlą, PHPBB, MediaWiki oraz moją stroną domową (będzie tego więcej), to zapraszam też na stronę testową CMSów:

http://tinyurl.com/2j9fr4

Zapraszam też na stronę http://tinyurl.com/3xn792 (200.000 unikalnych użytkowników i kilka milionów odsłon miesięcznie), gdzie moje skrypty z rodziny PHP Hypercacher działają już nieprzerwanie od 5 miesięcy na hostingu współdzielonym (!).

Moje forum zawiera też FAQ do najczęściej zadawanych pytań:

FAQ ogólne:
http://tinyurl.com/2gr29k

FAQ developerskie:
http://tinyurl.com/37lnz4


Gorąco pozdrawiam.
SoofMan aka Kamil Sofowora

Ten post edytował SoofMan 25.07.2007, 23:10:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SoofMan
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.04.2007
Skąd: klikash ? A stond, z tamtond, ze wszond

Ostrzeżenie: (0%)
-----


Aktualizacja [2007-05-15] - odświeżam temat:

Wypuściłem właśnie nowe wersje Hypercachera:
- Hypercacher Standard 1.926 oraz
- Hypercacher Refresher Standard 1.015

Wszystko do pobrania jak zwykle tutaj:
http://www.hypercacher.com/download_pl.html

Wersje zwykłe i obcięte zostały przeze mnie dość dokładnie przetestowanie, jednakże w razie BUGów dobrze by było gdybyście zgłaszali je tutaj:
http://hypercacher.com/forum/viewforum.php?f=4

Wprowadziłem następujące zasugerowane wcześniej poprawki:


Cytat
1. Nie mógłbyś używać jakiś normalnych nazw zmiennych, jeśli chcesz użyj phpHypercacher_cacheRefreshTime, ale nie $vt, bo to strasznie zmniejsza czytelność kodu


Propozycja wdrożona.

Nazwy zmiennych oraz stałych w wersjach DEV zostały wydłuzone i objaśnione, tak że każda z nich opisuje dość dokładnie swoją funkcję.

Natomiast wersje "skrócone" powstały poprzez użycie mojej obcinarki na wersjach developerskich.


Cytat
2. Zamiast if(sf_dnchx<1) użyj defined('sf_dnchx')


Propozycja wdrożona częsciowo. Wdrożyłem tą sugestię tylko w przypadku stałej HCACHER_DISABLED (dawnej sf_dnchx). Nie wdrożę jej gdzie indziej, ponieważ jak już pisałem będzie to wymagało sprawdzenia dwóch warunków, ponieważ te stałe nie są sprawdzane tylko warunkiem czy są TRUE lub FALSE, ale przenoszą też wartości (w hypercacherze GZIP).

Ponieważ chcę utrzymać jeden standard w przypadku Hypercachera GZIP i zwykłego, to nie będę wdrażał odmiennych rozwiązań w żadnym z nich. Obydwa muszą działać bazując na dokładnie tej samej koncepcji, w celu zachowania 100% kompatybilności wersji bazowej z GZIP.


Cytat
3. Nie mógłbyś użyć function_exists?


Propozycja wdrożona


Cytat
4. Zamiast $_GET I $_POST możesz użyć $_REQUEST, a także zamiast


Nie mogę użyć $_REQUEST, ponieważ zawiera on oprócz GET i POST także tabelę $_COOKIE, co powoduje powstania BUGa: występowanie niepożądanych, automatyczych odświeżeń cache (sprawdzone w praktyce). Mógłbym co prawda zmienić nazwę ciasteczka "cachewalker", jednakże mimo wszystko występowanie cookies o określonej nazwie w mogłoby spowodować niepotrzebne odświeżenia cache - wolę tego uniknąć.

$_REQUEST całkowicie odpada, jako że może w określonych przypadkach całkowicie popsuć działanie Hypercachera.


Cytat
5. Zamiast strpos($vh,$poszukiwany_string) sprawdzaj za pomocą in_array lub isset($_REQUEST[$poszukiwany_string] ) w zależności gdzie chcesz szukać tych "parametrów"


Propozycja wdrożona


Cytat
6. W każdym wypadku $m w ostatniej linii jest ustawione na stringa, tak więc zawsze if(m) będzie spełnione


Propozycja wdrożona


















Stara treść posta:
---------------------------------------------------

Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
A nie można tak:
  1. <?php
  2. if ( defined ( 'ENABLE_PHPHYPERCACHER' ) ) {
  3. ....
  4. }
  5. ?>


Hmmm. Można.

OK. Będzie w następnej wersji.

Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
Chyba muszę Cię rozczarować, u mnie 1MB plik PHP ( prosty bo prosty ) parsuje się ok. 0.5s, a pusty plik 0.1s. Zmiana nazw zmiennych pozwoli na usunięcie znacznej ilości komentarzy (patrz przykład z define) i zwiększy rozmiar pliku najwyżej o parę bajtów ( w co wątpię ).

Trochę rachunków:
Powiedzmy, że zwiększy Ci się rozmiar pliku o 128 bajtów, czyli o (1/8192)MB, czyli czas wzrośnie o (0.4)/(1/8192), czyli o 1/32768 = 0.00003s, co daje na 32k osób przyrost czasu generowania o 1s. Czy jest to warte pisania dodatkowego kodu - wątpię.


1. Tylko że.... nie policzyłeś odczytów z dysku. 32k osób X 128 bajtów = 4MB więcej odczytu z dysku !
Już nie mówiąc że dysk jest podzielony na klastry, i odczyt z niego też jest klastrowy. Jeżeli długość pliku przekracza rozmiar klastra, to serwer musi odczytać CAŁY następny klaster (0,5KB - 1KB), co oznacza że w skrajnym przypadku serwer będzie musiał odczytać nawet 4 lub 8 RAZY więcej (32k osób X 1KB = 32MB zamiast 32k osób X 128 B = 4MB).

2. Prędkość to nie wszystko. Mam takie zboczenie na punkcie rozmiaru kodu również ponieważ kod taki dużo łatwiej wkleić do skryptu (jak mieści się w jednej linijce)... WYGODA, nie ?


Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
A wycięcie komentarzy i białych spacji to masz wbudowane do PHP'a php_strip_whitespace" title="Zobacz w manualu PHP" target="_manual
Patrz wyżej. Kolejna sekunda na 10k odświeżeń?


Dzieki za podpowiedź.

1. Sprawdzałem właśnie przed chwilą działanie tej funkcji. Niestety działa gorzej od mojej własnej. Pozostawia spacje w kodzie. To niewybaczalne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
2. Niestety Nie potrafi równocześnie obcinać nazw zmiennych

Cytat(devnul @ 1.05.2007, 12:07:44 ) *
no ale wy uparci jesteście, przecierz kolega wyraźnie zaznaczył że ma obsesje na punkcie wycinania białych znaków, komentarzy i używania przesadnie dziwnych i krótkich nazw zmiennych. Najlepiej jakby kod był jednoliniowy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


1. Dokładnie. Mam MANIĘ na tym punkcie. BAZA Hypercachera ma być tak szybka jak to tylko jest możliwe oraz wygodna i łatwa w instalacji - wszystko inne schodzi na drugi plan.

2. Dyskusja na ten temat w zasadzie i tak jest zbędna. Powiedziałem przecież, że zgodnie z sugestią UDAT nazwy zmiennych w wersji DEV będą wydłużone w następnych release, a będę je skracał tylko za pomocą mojej "obcinarki".

3. Po to projekt jest na open source, żeby jak komuś nie będzie to odpowiadało, to zrobi sobie MODa... Ale wersja bazowa ma być "EKSTREMALNIE wyciśnięta" i zoptymalizowana na TOTALNEGO MAXA.

Ponieważ założeniem istnienia Hypercachera jest to, że kod będzie się wklejać do plików PHP, więc kod musi być wygodny w użyciu i superszybki tak żeby nie spowalniał skryptów do których jest wklejany. A żeby to było wygodne, to ten kod powinien zajmować jak najmniej i najlepiej zajmować jedną linijkę.

Patrz wyżej.

Ten post edytował SoofMan 15.05.2007, 17:19:46
Go to the top of the page
+Quote Post

Posty w temacie
- SoofMan   [skrypt] PHP Hypercacher - nowy cacher do skryptów PHP   20.04.2007, 18:02:38
- - devnul   wszystko fajnie ale po co pytasz o nazwisko i imie...   20.04.2007, 19:30:20
|- - SoofMan   Cytat(devnul @ 20.04.2007, 20:30:20 )...   20.04.2007, 20:07:53
- - phpion.com   Cytat(SoofMan @ 20.04.2007, 21:07:53 ...   20.04.2007, 20:23:15
|- - SoofMan   Cytat(phpion.com @ 20.04.2007, 21:23...   20.04.2007, 20:39:23
- - devnul   CytatWersja developerska jest po to żeby mie...   20.04.2007, 21:11:12
|- - SoofMan   Cytat(devnul @ 20.04.2007, 22:11:12 )...   20.04.2007, 21:33:51
- - devnul   CytatKocham Linuksa, nie cierpię Billa i Ballmera,...   20.04.2007, 22:00:14
|- - SoofMan   Cytat(devnul @ 20.04.2007, 23:00:14 )...   20.04.2007, 22:09:35
- - kriqs   zgadzam sie z devnul'em ( jak cos zle to sorki...   20.04.2007, 23:20:33
- - devnul   CytatOd razu widać że mnie nie znasz. Dla mnie pie...   21.04.2007, 00:02:19
|- - SoofMan   Cytat(devnul @ 21.04.2007, 01:02:19 )...   21.04.2007, 06:52:09
- - Nigger   Sam skrypt może i jest w miarę dobry, ale styl tra...   21.04.2007, 09:02:08
|- - SoofMan   Cytat(Nigger @ 21.04.2007, 10:02:08 )...   21.04.2007, 18:56:11
|- - Riklaunim   Cytat(SoofMan @ 21.04.2007, 19:56:11 ...   21.04.2007, 20:05:57
- - Riklaunim   jak ktoś chce optymalizować kod PHP to ma APC, Xca...   21.04.2007, 12:32:42
- - phpion.com   Pozwolę sobie nieco poszerzyć OT: Cytat(SoofMan ...   21.04.2007, 15:44:42
- - Zajec   Hm, czy PHP nie ma jakiegoś cache w rodzaju system...   21.04.2007, 18:17:02
- - orglee   Przestańcie tak na niego najeżdżać a Pan, panie So...   21.04.2007, 18:42:16
- - nospor   ale OT.... no to i ja sie dołącze CytatRobiłem b...   21.04.2007, 19:23:35
|- - SoofMan   Cytat(nospor @ 21.04.2007, 20:23:35 )...   21.04.2007, 19:28:17
- - nospor   tja.... Ino, ze najpierw byles swiecie przekonany ...   21.04.2007, 19:39:27
|- - SoofMan   Cytat(nospor @ 21.04.2007, 20:39:27 )...   21.04.2007, 20:57:56
- - PiotrLegnica   CytatPo prostu FIZYCZNIE nie ma takiej możliwości,...   21.04.2007, 19:57:07
- - ActivePlayer   dobra, ale jak dziala ten skrypt? bo ja tam widze ...   21.04.2007, 20:06:03
|- - SoofMan   Cytat(ActivePlayer @ 21.04.2007, 21:06...   21.04.2007, 20:45:30
- - PiotrLegnica   Cytatdobra, ale jak dziala ten skrypt? Z tego co u...   21.04.2007, 20:46:23
- - nospor   CytatPrzecież NOWE benchmarki które zrobiłem na ID...   21.04.2007, 21:01:11
|- - SoofMan   Cytat(nospor @ 21.04.2007, 22:01:11 )...   21.04.2007, 21:07:59
- - PiotrLegnica   Cytat2. Nie wiesz że M$ Office wyszło już z m...   21.04.2007, 21:08:24
|- - SoofMan   Cytat(PiotrLegnica @ 21.04.2007, 22:08...   21.04.2007, 21:12:31
- - ActivePlayer   czyli dziala to tak ze pierw generuje daną stronę ...   21.04.2007, 21:47:18
|- - SoofMan   Cytat(ActivePlayer @ 21.04.2007, 22:47...   21.04.2007, 21:58:59
- - ActivePlayer   a co sie stanie jak po wygenerowaniu "cache...   21.04.2007, 22:12:17
|- - SoofMan   Cytat(ActivePlayer @ 21.04.2007, 23:12...   21.04.2007, 22:19:52
- - devnul   Cytat(SoofMan)Jest już profesjonalna wersja develo...   22.04.2007, 11:14:54
|- - SoofMan   Cytat(devnul @ 22.04.2007, 12:14:54 )...   22.04.2007, 19:21:19
- - fridek   Polecam:   22.04.2007, 19:39:02
|- - Riklaunim   Cytat(fridek @ 22.04.2007, 20:39:02 )...   22.04.2007, 20:05:35
|- - SoofMan   Cytat(Riklaunim @ 22.04.2007, 21:05:3...   22.04.2007, 21:17:51
- - devnul   CytatNigdzie nie napisałem że odkryłem amerykę... ...   22.04.2007, 21:07:05
- - tuner   Skrypt bardzo mi się nie podoba. Dobre (stare) pom...   22.04.2007, 23:27:37
- - devnul   CytatA co mam odpisać ? Ja nie umiem inaczej ...   22.04.2007, 23:31:47
|- - SoofMan   Cytat(devnul @ 23.04.2007, 00:31:47 )...   23.04.2007, 06:58:10
- - nospor   Chwalisz sie tak ze spedziles kilkaset godzin na o...   23.04.2007, 08:14:38
|- - SoofMan   Cytat(nospor @ 23.04.2007, 09:14:38 )...   23.04.2007, 08:29:36
- - nospor   Ja nie mowie ze to jest shit, bo nie wiem, nie spr...   23.04.2007, 08:34:00
|- - SoofMan   Cytat(nospor @ 23.04.2007, 09:34:00 )...   23.04.2007, 08:43:53
- - menic   No ze skrajnosci w skrajnośc... Na początku maczki...   23.04.2007, 08:35:50
- - menic   Czemu wybierasz tylko "smaczki" z postów...   23.04.2007, 08:46:56
- - nospor   CytatJa nie umiem znaleźć "złotego środka...   23.04.2007, 08:49:05
|- - SoofMan   Cytat(nospor @ 23.04.2007, 09:49:05 )...   23.04.2007, 09:03:29
- - ActivePlayer   Dobra, koniec rozmów na temat inności SoofMan...   23.04.2007, 09:05:15
- - nospor   CytatJak to nie ? DEVNULL napisał - nie ma ...   23.04.2007, 09:08:35
|- - SoofMan   Cytat(nospor @ 23.04.2007, 10:08:35 )...   23.04.2007, 09:17:02
- - ActivePlayer   Ok, Koniec. SoofMan jak przygotujesz jakiś merytor...   28.04.2007, 20:22:18
- - SoofMan   Aktualizacja: 1. Przepraszam za problemy z pobier...   30.04.2007, 00:04:35
- - UDAT   Przejrzałem kod i mam parę uwag (abstrah...   30.04.2007, 09:57:42
|- - SoofMan   Cytat(UDAT @ 30.04.2007, 10:57:42 ) M...   30.04.2007, 12:35:05
|- - UDAT   Cytat(SoofMan @ 30.04.2007, 13:35:05 ...   1.05.2007, 10:50:48
- - Fuzja   Jeszcze tylko taki mały ot: zdecydowanie przesadza...   30.04.2007, 10:55:26
- - UDAT   @SoofMan: Czemu nie zamkniesz funkcjonalności swoj...   30.04.2007, 12:01:01
- - menic   @UDAT: Bo wtedy bedzie wolniej działać ;-)   1.05.2007, 10:55:57
- - devnul   no ale wy uparci jesteście, przecierz kolega wyraź...   1.05.2007, 11:07:44
- - SoofMan   Aktualizacja [2007-05-15] - odświeżam temat: Wypu...   15.05.2007, 17:08:12
- - koobs   600zł za mniej niz 1kb kodu przeciez takie...   24.06.2007, 21:57:18
|- - SoofMan   Cytat(koobs @ 24.06.2007, 22:57:18 ) ...   26.06.2007, 13:25:11
|- - UDAT   Cytat(SoofMan @ 26.06.2007, 14:25:11 ...   26.06.2007, 16:33:50
|- - SoofMan   Cytat(UDAT @ 26.06.2007, 17:33:50 ) C...   26.06.2007, 17:42:21
- - PiotrLegnica   499zł... Tyle to nawet IPB nie kosztuje.   26.06.2007, 13:57:39
|- - SoofMan   Cytat(PiotrLegnica @ 26.06.2007, 14:57...   26.06.2007, 14:09:06
- - kwiateusz   Cytat0. A czy IPB potrafi uciąć np. 200 zł miesięc...   26.06.2007, 14:41:55
|- - SoofMan   Cytat(kwiateusz @ 26.06.2007, 15:41:5...   26.06.2007, 14:50:30
- - Riklaunim   czy ty myślisz że masz wyłączność na stosowanie ko...   26.06.2007, 16:14:48
- - Dandelion   CytatHmmm.... przez 10 lat rozwoju PHP żaden mało,...   26.06.2007, 16:30:57
- - NoiseMc   CytatOd razu widać że mnie nie znasz. Dla mnie pie...   26.06.2007, 18:23:57
|- - SoofMan   Cytat(NoiseMc @ 26.06.2007, 19:23:57 ...   26.06.2007, 18:45:48
- - devnul   CytatJa oferuję tym serwisom możliwość pozostania ...   26.06.2007, 19:32:37
|- - SoofMan   Cytat(devnul @ 26.06.2007, 20:32:37 )...   26.06.2007, 19:46:37
|- - Riklaunim   Cytat(SoofMan @ 26.06.2007, 20:46:37 ...   26.06.2007, 20:05:32
|- - SoofMan   Cytat(Riklaunim @ 26.06.2007, 21:05:3...   26.06.2007, 20:46:06
- - Dandelion   szczegolnie ze mozemy uzyc pelnych darmowek wykorz...   26.06.2007, 19:38:37
- - tuner   SoofMan, chciałbym ci powiedzieć, że ten pomysł ni...   26.06.2007, 20:37:58
- - devnul   CytatEeeee.... nie rozumiem. Przecież to jest port...   26.06.2007, 20:52:04
|- - SoofMan   Cytat(devnul @ 26.06.2007, 21:52:04 )...   26.06.2007, 20:58:59
- - sagittariuspl   skończcie tą bezproduktywną gadką i weźcie się do ...   26.06.2007, 21:09:22
- - Kreton   Ot: @Soofman: Proszę więcej enterów, bo rolka w my...   23.07.2007, 15:35:37
|- - SoofMan   Cytat(Kreton @ 23.07.2007, 16:35:37 )...   23.07.2007, 15:46:39
- - aliasx2   Soofman jezeli footer nie musi byc umieszczony na ...   8.08.2007, 15:46:30
- - SoofMan   Cytat(aliasx2 @ 8.08.2007, 16:46:30 )...   8.08.2007, 23:26:42


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 18:45