Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: APC a sprawa hostingów
Forum PHP.pl > Forum > Serwery WWW
lucassus
Dlaczego APC na większości hostingach jest wyłączone?

W testach, która przeprowadzałem przy włączonym APC otrzymałem ponad x2 wzrost wydajności skryptów (testowane na aplikacji napisanej w Zend Framework + phpDoctrine).
Na pierwszy rzut oka wydaje się, że jedynym mankamentem ACP jest zwiększone zapotrzebowanie aplikacji na pamięć, która na dodatek jest zawsze zajęta (cache jest ciągle przetrzymywany w RAM-ie). Czy firmom hostingowym bardziej opłaca się inwestowanie w mocniejsze procesory niż większą ilość pamięci dla aplikacji?
dr_bonzo
Hmmm, oni tam maja setki klientow na 1 masznie, i musieli by WSZYSTKIE ich aplikacje trzymac w pamieci.
Wiekszosc z tych aplikacji i tak pewnie jest uzywana raz na jakis czas == niepotrzebnie zajmuje pamiec, i skoro tak zadko uzywane to po co az tak je optymalizowac APCem, a CPU taka aplikacja dostanie wtedy kiedy potrzebuje, a jak jest nie uzywana to nie zuzywa cpu.

Taka moja analiza.
lucassus
Cytat(dr_bonzo @ 9.08.2008, 13:38:12 ) *
Hmmm, oni tam maja setki klientow na 1 masznie, i musieli by WSZYSTKIE ich aplikacje trzymac w pamieci.
Wiekszosc z tych aplikacji i tak pewnie jest uzywana raz na jakis czas == niepotrzebnie zajmuje pamiec, i skoro tak zadko uzywane to po co az tak je optymalizowac APCem, a CPU taka aplikacja dostanie wtedy kiedy potrzebuje, a jak jest nie uzywana to nie zuzywa cpu.

Taka moja analiza.


..ma sens, niestety :/
Wielka szkoda, bo aplikacje pisane z Zend Framework (lub innych dużych frameworkach) potrafią strasznie mulić - setki, a może nawet tysiące includowanych plików. Wygląda na to, że jedynym rozwiązaniem są dedyki.
Zbychu666
Problem jest też taki że na kiepsko napisanych skryptach (z tego co pamiętam m.in. wielokrotne includowanie tych samych klas/funkcji) APC potrafi wywalić krytyczny błąd i nic sie nie pokaże na stronie.

W takim wypadku pewnie by dostawali Emaile że coś nie działa i byłaby dyskusja typu:
Klient: Nie działa!!!
Suppport: Ma pan źle napisany skrypt i dlatego wywala błąd.
Klient: ale wcześniej ten sam skrypt działał dopuki nie zainstalowaliście tego APC! Ide do konkurencji...

smile.gif


Jeśli idzie o zużycie pamięci to raczej nie powinien być problem, bo można ograniczyć przydział pamięci dla APC i jeśli dojdzie do limitu to chyba używa algorytmu Last Recently Used żeby trzymać w pamięci tylko te najczęściej wykorzystywane skrypty, a ta najmniej używane wywala z cacheu.
lucassus
Cytat(Zbychu666 @ 10.08.2008, 12:42:29 ) *
Problem jest też taki że na kiepsko napisanych skryptach (z tego co pamiętam m.in. wielokrotne includowanie tych samych klas/funkcji) APC potrafi wywalić krytyczny błąd i nic sie nie pokaże na stronie.

W takim wypadku pewnie by dostawali Emaile że coś nie działa i byłaby dyskusja typu:
Klient: Nie działa!!!
Suppport: Ma pan źle napisany skrypt i dlatego wywala błąd.
Klient: ale wcześniej ten sam skrypt działał dopuki nie zainstalowaliście tego APC! Ide do konkurencji...


cóż.. idealny sposób na eliminowanie kiepskich programistów winksmiley.jpg

Tak na poważnie, wystarczyło by dać użytkownikom możliwość wyłączania (lub włączania) APC np. poprzez plik .htaccess. Na niektórych hostingach w ten sposób wybiera się np. wersję PHP, na której ma działać aplikacja.
..dalej nie widzę problemu winksmiley.jpg

Chyba jedynym powodem, dla którego administratorzy nie włączają APC to:
dodatkowe rozszerzenie do PHP => dodatkowa robota przy administracji serwerem => dodatkowe problemy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.