Šta je novo?

Zastoj dok PHP skripta radi

februarski

Slavan
Učlanjen(a)
06.07.2006
Poruke
28
Poena
304
Naleteo sam svega par puta na ovu situaciju, prilično retko, i nisam uspeo da izguglam ništa smisleno na ovu temu, pa reko' možda neko može da uleti klizeći ovde....

Imam server (klasika LAMP platforma) koji, dok jedna skripta trči (bilo da je cron ili webpage), zakuca server i ostale stranice na sajtu servira po 2 minute...

Pretpostavljam da je nešto na Linux/Apache nivou, da treba negde reći serveru da alocira te resurse malo bolje...

Ako iko ima neku ideju gde se ovo podešava, bio bih mu/joj krajnje zahvalan.
 
A skripta poredi po datumu 500.000 rekorda? :)

Ipak moras malo detaljnije da opises skriptu, LAMP konfiguraciju i ceo problem...
 
500 000 je mali broj. :)

Skripta radi svašta: drma ogroman broj upita na bazu, šalje gomilu mejlova, povlači koješta preko HTTPa... Skripta jeste zahtevna, to stoji. Ali na svim ostalim serverima radi lepo malo sporije, a ostatak serva fercera kako treba. Ovo sam video kod njih par samo...

Nije uopšte do skripte, čak šta više, ima ih par, nezavisnih.

Problem je u tome što server preda sve resurse toj skripti, pa ostatak servera uspori.

PHP 5.2x je gde sam je viđao do sada, MySQL je (ovde) 5.0.26, na jednom serveru je bila 4.1.x.

Ponašanje je slično na još desetak mašina različitih konfiguracija, a na ostalih par hiljada mašina radi besprekorno... :(
 
Verujem da si vecinu probao ali,.... :

- Uporedi verzije php-a, mysql-a, apacha, linuxa gde radi i gde ne radi
- Networking - tj da li svi skriptovi neometano koriste mrezne resurse (fw, blokirano slanje, ogranicenja u slanju mailova, timeouti...)
- Stanje tabela / baze / indexa...
- Error logovi
 
been there, done that. :(

Zna li neko neki setting koji bi Apache-u (ili u Linuxu, za procese) rekao da ostavi dovoljno ostalima, a ne da na jedan proces da svu svoju energiju?

Ovo sam iskopao do sad: http://httpd.apache.org/docs/1.3/mod/core.html#rlimitcpu

ono što sam primetio u ovoj instanci je da ima MPM modul uključen, prefork i worker mu se pominju u conf-u... sad babram na tu stranu.
 
Da li možeš da instaliraš nešto od navedenog?
mod_throttle
mod_bandwidth
mod_limitipconn
mod_load
 
A kakav je server, u poredjenju sa onima na kojima radi bez problema ? Multi-core, single-core?
Jel skripta multi thread ili sta ?
 
@sirNemanjapro:
Hvala ti puno, spremio sam to da mu pošaljem kao jednu od krajnjih opcija... ako ne skontam u međuvremenu 'de je zapelo. :D

@farmaceut:
Ne znam specifikaciju hardvera, tražio sam više detalja. :) Dobio sam samo FTP pristup i conf fajlove za php/mysql/apache. Ovo znam:

- Ubuntu 5.7
- Apache 2.2.8
- PHP 5.2.4
- MySQL 5.0.26 na lokalnoj mašini, dedicated Ubuntu box sa 8GB RAM-a, od toga 4GB za MySQL kad je bio externi (ne znam verziju tamo)

skripta nije multithread.

Izgleda da je problem u količini traffica koji pravi skripta, ima 4 soketa otvorena i 2 konekcije na baze, i još radi po koji soket onako usput, kad treba... Server ne daje apsolutno nikakve peak-ove dok skripta tera.
 
A kolicina protoka koji server raspolaze? Imas li neko serve rmonitoring tool, da vidis koji resursi se "potrose" ? (neki program kao sto je "Munin" i sl.)
(mozda zagusis merzni protok, CPU, memorija, disk I/O.... je li mysql i PHP imaju dobro podesenu konfiguraciju i sl.?)
 
klijent odgovorio danas. kaže rešio je problem. :)

fsockopen-i su koristili istu internet konekciju kao i web server, nisu koristili posebnu kao što je trebalo, pa mu gušili protok ka sajtu, logično.

Ispade ništa specijalno. :( S druge strane, bitno da je rešeno. :)

Hvala svima još jednom na pomoći.
 
Vrh Dno