![]() |
![]() |
![]() ![]()
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 |
|
|
![]() |
![]()
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: --------------------------------------------------- A nie można tak:
Hmmm. Można. OK. Będzie w następnej wersji. 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 ? 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 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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 18:45 |