[ NenadS @ 02.12.2003. 06:19 ] @
Da li postoji mogucnost da u Linuxu ogranicim broj procesa na nivou usera?
Recimo imam neke korisnike cije se cgi scripte pokrecu po 30-50 puta odjednom sto drasticno utice na performanse sistema, pa bih hteo da to ogranicim na odredjen broj. Probaj sam sa limits.conf ali to su ogranicenja za usere kao se uloguju na sistem, a ovo sto meni treba je nesto sasvim drugo.

Hvala unapred!
[ popeye @ 02.12.2003. 15:50 ] @
Citat:
NenadS:
Da li postoji mogucnost da u Linuxu ogranicim broj procesa na nivou usera?
Recimo imam neke korisnike cije se cgi scripte pokrecu po 30-50 puta odjednom sto drasticno utice na performanse sistema, pa bih hteo da to ogranicim na odredjen broj. Probaj sam sa limits.conf ali to su ogranicenja za usere kao se uloguju na sistem, a ovo sto meni treba je nesto sasvim drugo.

Hvala unapred!


man setrlimit

CGI skripte pod Apachem ili na sistemu? Kako se pokrecu (cron?)?


[ NenadS @ 02.12.2003. 18:53 ] @
To su obicne scripte u cgi-bin diru koje se pokrecu kad neko poseti sajt nista drugo. Znaci hocu da ih ogranicim na recimo 10 jer kad se pokrenu 50+ load skoci ma 30-40 i sve se zagusi...
[ popeye @ 03.12.2003. 00:36 ] @
Probaj sa RLimitNPROC ili rucno podesi setrlimit u suexec-u.
[ NenadS @ 03.12.2003. 03:07 ] @
Hm u man-u za setrlimit nema nista... tako da ne znam gde mogu nesto vise o tome da procitam!?
[ anon676 @ 03.12.2003. 11:41 ] @
Man limit.
Code:

panther:dpanic/pts/2: /etc# limit
cputime         unlimited
filesize        unlimited
datasize        unlimited
stacksize       8MB
coredumpsize    0kB
memoryuse       unlimited
maxproc         2047
descriptors     1024
memorylocked    unlimited
addressspace    unlimited
maxfilelocks    unlimited

Ne mogu tačno da se setim, ali uz pomoć nekog GUI-a možeš ovo lakše da središ.
[ popeye @ 03.12.2003. 17:49 ] @
Ogranicenja se dobijaju od roditeljskog procesa, a pri logovanju se sprovode na login. Server apache (pocetni proces je pod root, ostali pod drugim korisnikom) ako CGI skripte ne rade preko suexec-a nije pametno ogranicavati. Ako se koristi suexec (svaka skripta se izvrsava pod uid-om vlasnika) u datoteci suexec.c preko setrlimit() i rlimit strukture se moze podesiti ogranicenje na korisnikove procese.
[ NenadS @ 03.12.2003. 20:22 ] @
Ja sam u httpd.conf u okviru virtuelnog hostinga dodao ovu liniju i to izgleda da radi:

RlimitNPROC 5|max

Naravno da se scripte izvrsavaju preko suexec i da se svakoj scripti dodeljuje user ID.

Videcu ovih dana kako ce ovo da radi...
[ NenadS @ 03.12.2003. 21:23 ] @
Hm izgleda da ovo nije dobro... jeste da je nesto ogranicio ali izgleda da je ogranio ceo server tako da se pokrece veoma mali broj procesa, load je mali, idle time je 70-90% ali server radi mnogo sporo...

trazio sam suexec.c i nisam ga nigde nasao.

Jel moras da postujes ovde jedan primer kako da ogranici preces pod userom nenad da moze da se u isto vremen pokrene samo 10 puta?
[ popeye @ 04.12.2003. 02:52 ] @
RLimitNPROC (kao i RLimitCPU i RLimitMEM) postavi u vhost (ne u opsu server) sekciju.

Recimo:

<VirtualHost 111.111.11.11>
DocumentRoot /var/www/localhost/nenad/htdocs
User nenad
Group webusers
RLimitCPU 30 30
RLimitMEM 8000000 10000000
RLimitNPROC 5 10
ScriptAlias /cgi-bin/ /var/www/localhost/nenad/cgi-bin/
</VirtualHost>
[ NenadS @ 04.12.2003. 15:50 ] @
Da tu sam i stavio, samo sto je kod mene to drugacije konfigurisano, tamo da svaki vhost ima svoj conf fajl. Probacu ponovo pa cemo da vidimo kako ce da se ponasa, jer se trenutno radi na instalaciji nove mreze, pa i to pravi probleme.