Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mam pytanie - czy mozna w jakis sposob ustawic przydzial procka dla serwera apache a nawet dla konkretnej witryny hostowanej na danej maszynie?
Chodzi mi o taka sytuacje, w ktorej np na stronie A wlaczany jest skrypt - ktory dlugo sie wykonuje. Oczywiscie w tym momencie przy obecnej konfiguracji - jakakolwek inna witryna na tym hoscie jest niedostepna (po prostu strona sie nie laduje) Apache wszystkie zasoby poswieca wczesniej uruchomionemu skryptowi. Da sie to jakos obejsc? Dajmy na to, odpalam skrypt w domenie www.a.pl - i bierze 40-50% proca, albo i 95 - jesli sytuacja pozwala, ale jednoczesnie umozliwia zaladowanie innej stronki hostowanej na tym serwerze. Mysle, ze da sie to zrobic, ale nie wiem jak :-/ Apache jest dla mnie skomplikowany (za duzo zmian z wersji na wersje)
Offline
Dajmy na to, odpalam skrypt w domenie www.a.pl
Ale onii mają na IIS a nie na apache :)
Server: Microsoft-HTTPAPI/2.0 Date: Sat, 02 Jul 2011 17:57:39 GMT Connection: close Content-Length: 326
Tak na poważnie to chyba masz źle napisany skrypt jak zajmuje ci tak demona apache. Z tego co wiem apache na starcie ma limity dla każdego wątku. Chyba jakoś tak
Poszukaj w dokumentacji apache bo na pewno jest jakas opcja. Niewyobrazam sobie świadczyć hosting i jakiś amator zapuści sckrypt który wykona iloczyn kartezjański i zablokuje cały serwer ,to bez przerwy były by jakies pady.
Może inaczej co robi ten skrypt że takie są objawy Apache?
Popatrz na opcję RLimitCPU, RLimiMEM
Ostatnio edytowany przez hello_world (2011-07-02 20:19:03)
Offline
Hostingu nie mam, ale mam strone, do ktorej maja dostep klienci. Co do zajetosci skryptu - zapewne daloby sie go zoptymalizowac, ale mysle ze juz niewiele - skrypt generuje ok 400 plikow pdf z fakturami i wysyla je mailem, jak dlugo sie bedzie wykonywal - generalnie nie zalezy mi na tym (30 min czy 20min) byle w tym czasie byl dostep do innych stron (dokladnie dwoch)
Offline
Czy ty masz dostęp do roota?
Jeśli tak to czy obserwujesz apache podczas pracy przez http://domen.tld/server-status. To ci może dużo powiedzieć.
Może w systemie operacyjnym masz ograniczenia co do procesów lub plików.
Offline
Statyczne strony html nie wymyślą żadnego znaczącego obciążenia dla serwera i systemu.
Co do stron php, to ja radziłbym Nginx, lub Lighttpd (w nim chyba też sie to da), do tego php-fpm, i każda domena ma swojego chroota, a w nim osobny demon php-fpm.
Każdy taki proces główny możesz potraktować takimi zabawkami, jak: softlimit (pakiet daemontools), cpulimit, i ustawić limity w limits.conf.
Do tego grsecurity, żeby tych limitów trochę popilnował (w Linuxie standardowym, (o ile mi wiadomo) nie ma limitu wywołań exec,w Grsecurity jest).
A np Nginx z php-fpm jest zalediwe okolo 7 razy wydajniejszy od Apacha.
Lighttpd z php-fpm jest około 15% mniej wydajny od Nginxa.
I to chyba najsensowniejsze (moim zdaniem) rozwiązanie.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2011-07-02 22:17:27)
Offline
hello_world napisał(-a):
Czy ty masz dostęp do roota?
Jeśli tak to czy obserwujesz apache podczas pracy przez http://domen.tld/server-status. To ci może dużo powiedzieć.
Może w systemie operacyjnym masz ograniczenia co do procesów lub plików.
Owszem mam i zobacze co mi pokaze.
Generalnie gdzies cos czytalem na temat ograniczania obciazenia dla virtualhostow... ale nic konkretnego nie znalazlem
Offline
BiExi napisał(-a):
Kpt. - nie lepiej aby ten generator właczał się z poziomu powłoki a nie serwera apache
Kurcze, mowisz, ze to jedyny sposob? Czyli musialbym przyjac nieco inne rozwiazania. Teraz jest tak, iz wyklikuje sobie przez strone za jaki okres ma byc cos tam generowane i wtedy nastepuje generowanie - pdfow i zaraz za tym wysylka maili. Pewnie gdyby to wywalic do execa... Pewnie bede musial sie nad tym zastanowic.
Z tego co widze - zapuscilem jeszcze raz generowanie - to nie jest zle. Teraz widze, ze chociaz top pokazuje prawie 100% proca (ramcu malo lyka), to na inne vhosty moge spokojnie sie dostac i nie widac, zeby cos zlego sie dzialo ;-) Moze za wczesniej sie martwilem.
Ostatnio edytowany przez Kpt. (2011-07-02 23:56:39)
Offline
Daj apatchowi limit. Choć nginix byłby znacznie lepszym rozwiązaniem.
A jeżeli chcesz zostać przy apatchowych zabawkach to cherokee.
http://www.howtoforge.com/how-to-limit-cpu-usage-of … debian-ubuntu
#Przykład cpulimit -P /usr/sbin/apache2 -l 30
Ostatnio edytowany przez womperm (2011-07-03 00:17:46)
Offline