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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-07-02 19:46:11

  Kpt. - Użytkownik

Kpt.
Użytkownik
Skąd: Wielkopolska
Zarejestrowany: 2005-11-10

Obciazenie procka przez apache`a

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

 

#2  2011-07-02 20:01:38

  hello_world - Członek DUG

hello_world
Członek DUG
Skąd: Rymanów Zdrój
Zarejestrowany: 2010-06-03
Serwis

Re: Obciazenie procka przez apache`a

Dajmy na to, odpalam skrypt w domenie www.a.pl[/quote]
Ale onii mają na IIS a nie na apache :)

Kod:

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

 

#3  2011-07-02 20:55:21

  Kpt. - Użytkownik

Kpt.
Użytkownik
Skąd: Wielkopolska
Zarejestrowany: 2005-11-10

Re: Obciazenie procka przez apache`a

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

 

#4  2011-07-02 21:10:09

  hello_world - Członek DUG

hello_world
Członek DUG
Skąd: Rymanów Zdrój
Zarejestrowany: 2010-06-03
Serwis

Re: Obciazenie procka przez apache`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.

Offline

 

#5  2011-07-02 21:10:51

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: Obciazenie procka przez apache`a

Kpt. - nie lepiej aby ten generator właczał się z poziomu powłoki a nie serwera apache


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#6  2011-07-02 22:14:29

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Obciazenie procka przez apache`a

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2011-07-02 22:39:33

  Kpt. - Użytkownik

Kpt.
Użytkownik
Skąd: Wielkopolska
Zarejestrowany: 2005-11-10

Re: Obciazenie procka przez apache`a

[quote=hello_world]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.[/quote]
Owszem mam i zobacze co mi pokaze.
Generalnie gdzies cos czytalem na temat ograniczania obciazenia dla virtualhostow... ale nic konkretnego nie znalazlem

Offline

 

#8  2011-07-02 22:42:18

  Kpt. - Użytkownik

Kpt.
Użytkownik
Skąd: Wielkopolska
Zarejestrowany: 2005-11-10

Re: Obciazenie procka przez apache`a

[quote=BiExi]Kpt. - nie lepiej aby ten generator właczał się z poziomu powłoki a nie serwera apache[/quote]
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

 

#9  2011-07-03 00:15:21

  womperm - Członek DUG

womperm
Członek DUG
Zarejestrowany: 2010-06-01

Re: Obciazenie procka przez apache`a

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-a-process-with-cpulimit-debian-ubuntu

Kod:

#Przykład
cpulimit -P /usr/sbin/apache2 -l 30

Ostatnio edytowany przez womperm (2011-07-03 00:17:46)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00156 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='13.58.34.132' WHERE u.id=1
0.00072 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '13.58.34.132', 1732709234)
0.00044 SELECT * FROM punbb_online WHERE logged<1732708934
0.00043 SELECT topic_id FROM punbb_posts WHERE id=176753
0.00045 SELECT id FROM punbb_posts WHERE topic_id=19295 ORDER BY posted
0.00068 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=19295 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00086 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=19295 ORDER BY p.id LIMIT 0,25
0.00089 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19295
Total query time: 0.00625 s