DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web Hosting, web serveri i operativni sistemi (http://www.devprotalk.com/forumdisplay.php?f=11)
-   -   Zastoj dok PHP skripta radi (http://www.devprotalk.com/showthread.php?t=8635)

misk0 02. 04. 2010. 09:38

Ako se to ne desava pri svakom pokretanju te skripte moguce je da postoji i neka druga skripta na tom serveru i da se pokretanje ove dvije ili bar njihovih dijelova poklopi i na taj nacin ubije server.

Mislim da je najvaznije ovo sto je rekao ivanhoe - utvrditi prvo sta je problem tj gdje je blokada pa onda dalje.

srdjevic 02. 04. 2010. 19:07

Do sad utvrđeno:
- ni jedan proces nije preko 3% u vreme rada skripte
- nema sporih upita. kaže da odradi rafal u par sekundi, pa ćuti 15-20 sekundi, u rafalu su svi ok
- ssh mu radi na oba serva (web i db) bez ikakvih problema dok skripta tera, samo web interfejs je zakucan
- sar/top pokazuje idle 80-90%
- request na TXT fajl na serveru (ne ide kroz PHP) se prevlači sporije u toku rada skripte


nadam se da nisam propustio nešto... tražio sam gomilu stvari, dobio sam (naravno) samo par šturih odgovora...

Skripta mu ima 4+ fsockopena otvorena u isto vreme, a možda i više, vrlo je moguće da je samo zagušio mrežu svetski... :(

bluesman 02. 04. 2010. 19:28

Citat:

Originalno napisao srdjevic (Napišite 82801)
Skripta mu ima 4+ fsockopena otvorena u isto vreme, a možda i više, vrlo je moguće da je samo zagušio mrežu svetski... :(

Po meni tu je problem. Koliki ti je timeout za konekciju?

kodi 02. 04. 2010. 20:21

a koji je status apache-a dok skripta radi?
jel ta gomila http upita ide na isti host ili negde u svet?

agvozden 02. 04. 2010. 20:36

Mislim da je problem kompleksniji od odgovora tipa "učini to i to..."
Verovatno imaš više stvari koje utiču na performanse.
Da li ti radi samo jedan takav kron u isto vreme?
Kakvo je zauzeće memorije. Možeš li to da meriš i ukoliko preveliš određeni nivo da isključiš skriptu. Pokretanjem sledećeg krona bi trebalo da nastavi gde je prethodna stala.

Ukoliko se kucaju i ostale skripte - veb strane mogao bi u tim skriptama da ograničiš vreme trajanja na najniže moguće - recimo 4 sec. Ukoliko počnu da pucaju bolje je da imaš manji broj korisnika bez odgovora, nego ceo server koji neće moći da se oporavi dugo vremena posle...

srdjevic 03. 04. 2010. 03:30

@bluesman:
I fsockopen i stream_set_timeout imaju 15. Izgleda da u tom (socketi) zecu čuči grm. :1016:

@kodi:
Ma nije, ceo server je u tip top kondiciji dok skripta tera... Namestio ga čovek da tera bez ikakvih pauza, ova jedna što sam je koristio za test cepa oko 2h, svaki dan po jednom. :)
Upiti sa web serva su uglavnom u internoj mreži.

@agvozden:
Nije kron, web skripta je u pitanju, i Apache je u igri... :1089:
Dobra je ideja za ostale skraćivanje rada ostalim skriptama.


Do kraja je ispalo, dakle, da server sasvim lepo radi sve, da ima minimalan iowait (isključio čovek mogućnost grešaka po hardu odmah), nema pikova ni u memoriji ni na procesoru, ma ništa... :(

Ali zato ima otvorena 4 soketa na internu mrežu, plus 2, je li, za mysql (isto interno), plus po koji tu i tamo kad radi get fajlova iz sveta. Na jedan od ova četiri uvek tera podatke praktično bez ikakvih pauza (sem što odradi provere i upite). Radi po 100 u cugu pre promene soketa. Čoveku je u interesu da radi posao što pre, da ne čeka ništa...

Naravno, taj komp u mreži na čiji soket baca isto to šalje dalje, u svet... Sve u svemu, začin C. Kad se sve sabere i oduzme, tona traffica. :(

Javiću ako dobijem još neki zanimljiv info. Sutra ću se verovatno igrati još malo oko njega, pingovati ga dok radi, njakati ga malo, i tako...
Hvala svima još jedared. :1016:

srdjevic 23. 04. 2010. 16:51

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.

misk0 23. 04. 2010. 23:22

Super da si rijesio problem.
Pade mi na pamet da biste mozda mogli napraviti kakav logging sistem za to proceduru tipa 'zavrsio prvi dio', 'zavrsio drugi dio' .... tako da lakse mozes lokaliozvati problematican dio.

srdjevic 12. 05. 2010. 16:25

uh -- sorry, tek sad videh ovo, promace mi... :(

pa imamo mi logging sistem, ali on radi sve (samo) ono sto mozes iz PHP skripte... skripta je radila fsockopen() i tu se njen posao/nadleznost zavrsava... to kako radi fsockopen (tj koji socket ce koristiti) je na nivou iznad, na to ne mozemo da uticemo... osim da imamo neki poseban proces koji radi exece i perverzije i guli sistemske logove, ili nesto, da bi ocitao da li je van PHPa sve u redu... :(

ako neko ima neki predlog/resenje za ovo, a da je u PHPu, please do tell! :)))


Vreme je GMT +2. Trenutno vreme je 12:59.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.