14 MB osiąga MediaWiki razem z dużym zestawem rozszerzeń z SVN Wikimedii. Podkreślam: 14 MB kodu ładowanego przy *każdym* requescie.
ha ha ha . no to sie posmialiśmy, fajnie było
specjalnie na tę okoliczność ściagnieta mediawiki-1.11.0
wczytuje podczas requestu ok 1.4 MB plików. ( w tym tak naprawde tylko ok. 400kB kodu php.)
duzo ale nie 14MB trzeba dodatkowo pamietać oni z zalozenie kozystaja z rozwiazan takich jak Turck MMCache, eAccelerator, APC albo XCache. tak wiec to że tego kodu jest duzo za duzo nie ma wielkiego znaczenie.
No to się teraz pośmiej z tego:
svn.wikimedia.org/svnroot/mediawiki/trunk/extensions
Tzn. Wikipedia z tego korzysta. MediaWiki to najwyżej umożliwia.
Jaki framework PHPowy polecacie dla duzego portalu
Tak do koĹca nieuzasadnione, to teĹź nie jest. WyobraĹş sobie aplikacjÄ w PHP, ktĂłra aby ruszyÄ, includuje sobie ok. 14 megabajtĂłw kodu. Tak wiÄc przy kaĹźdym requescie trzeba te 14 megabajtĂłw kodu na nowo sparsowaÄ i wiÄkszoĹÄ uruchomiÄ. A aplikacja ciÄ
gle roĹnie, gdyĹź z reguĹy na rozwĂłj
W tym problemie pomaga APC, kod PHP jest parsowany tylko raz (o ile czas modyfikacji pliku nie ulegĹ zmianie), nastÄpnie bajtkod przechowywany jest w pamiÄci, wiÄc odpada dodatkowo narzut na dostÄp do dysku. dziaĹa dalej. Czyli coĹ podobnego do autoload, ale niezaleĹźnie od tej funkcji i tym samym od wersji PHP.
JeĹli musisz martwiÄ siÄ jeszcze PHP4, nie zazdroszczÄ. ZastanĂłw siÄ jednak, czy warto.
Ale z tego, co pamiÄtam, APC wymaga powstrzymania siÄ od uĹźywania pewnych technik i ogĂłlnie jest niefajne. Dlatego raczej preferujÄ prostsze rozwiÄ
zanie, tj. squid+memcached.
Nie muszÄ. Szczerze mĂłwiÄ
c, to juĹź za czasĂłw PHP5 miaĹem z autoload drobny problem - skoki wydajnoĹci w trakcie dziaĹania aplikacji, co przy jednym z moduĹĂłw byĹo nieakceptowalne. Dlatego napisaĹem sobie coĹ, co Ĺaduje wszystkie potrzebne klasy na poczÄ
tku i dopiero inicjalizuje moduĹ. Nie wiem szczerze mĂłwiÄ
c, jak by to dziaĹaĹo z autoload na dzisiejszych wersjach PHP5.
No to się teraz pośmiej z tego:
svn.wikimedia.org/svnroot/mediawiki/trunk/extensions
trzeba dodatkowo pamietać oni z zalozenie kozystaja z rozwiazan takich jak Turck MMCache, eAccelerator, APC albo XCache. tak wiec to że tego kodu jest duzo za duzo nie ma wielkiego znaczenie.
Tzn. Wikipedia z tego korzysta. MediaWiki to najwyżej umożliwia.
Any User :
media wiki w WERSJI stabilnej (a nie jakies wynalazki z trunk ) ładuje 1.4 MB plików *.php z czego ok 0.4MB stnowi kod php
zainstalowanie jakiejś niewydanej niestabilnej wersji i wszystkich mozliwych rozszerzeń w wersjach deweloperskich byc może i powoduje że aplikacja działa wolno i że ładuje dużo plików.
zwłaszcza jeżeli nie przeprowadzisz instalacji do końca i nie zainstalujesz jakiegoś akceleratora z rodzaju mmcache
Mediawiki zostało napisane z myslą o zastosowaniu w wikipedii. I majac swiadomość tego że bedzie to serwis o sporej ilosci uzytkowników zdecydowano sie na pewne konkretne rozwiazania dotyczące optymalizacji.
Pisanie aplikacji z zamysłem uzycia akceleratorów prekompilujacych kod źródłowy sprawia ze nieco inaczej podchodzi sie do organizacji kodu zródłowego (nie zebym nie odczówał obrzydzenia jak to oglądam)
wiec NIE, nie jest prawda, jak piszesz, że w przypadku MediaWiki przy wywołaniu strony aplikacjia musi załadować 14MB kodu php.
Napewno nie w przypadku kiedy jest poprawnie skonfiurowana
troche tak jak byś narzekał że nowe Ferrari bardzo kiepsko jeździ po tym jak pan Waldek z warsztatu na rogu wymienił silnika i skrzynie biegów na model z duzego fiata i nie łaczył tych dwóch rzeczy w ciąg logiczny
z
zdzisio no wiec tysiac godzin to może i jest optymistyczny szacunek, a moze wcale nie. zalezy głównie od tego co to miało by byc.
Pytam, bo liczba wygląda na wziętą z sufitu - i z Twojej odpowiedzi wnioskuję, że chyba faktycznie taką jest.
Adam Byrtek :
liczyłeś na to że siądę i napisze wstepna dokumentacje projektową dla frejmłorka do projektu o którym wiem dokładnie tyle że "ma byc duzym portalem" i na podstawie tego udziele ci precyzyjnej odpowiedzi na pytanie o kosztorys?
z.