![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 5 Dołączył: 13.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
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... ![]() 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. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() 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 ![]() Chyba jedynym powodem, dla którego administratorzy nie włączają APC to: dodatkowe rozszerzenie do PHP => dodatkowa robota przy administracji serwerem => dodatkowe problemy |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:58 |