DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Broj konekcija na server (http://www.devprotalk.com/showthread.php?t=5317)

mb_sa 10. 05. 2008. 12:02

Broj konekcija na server
 
Pozdrav svima.

Na stranici (index.php) imam 3 dijela (box-a) koja je potrebno rješiti putem ajaxa. Tacnije radi se o ajax tabovima, koji iz baze izvlače različite sadržaje. Svaki od te 3 skupine ajax tabova korsiti isti JavaScript/ajax kod i logiku.

U svakom od tih ajax tabova se poziva eksterni .php fajl, reacimo ajax1.php, ajax2.php i ajax3.php sa različitim parametrima.

Svaki od ovih fajlova vrsi zasebnu konekciju na server i odabir baze. Naravno, na početku stranice (index.php) vršim konektovanje na server i odabir baze sa ostale upite koje je potrebno izvršiti i prikazati njihove rezultate.

Po ovome ispada da 4 puta vršim konektovanje na server i odabir baze, a u svakom slučaju je isti server i ista baza.

Da li je moguce da na neki način (u što sumnjam) da iskorstim prvu konekciju i odabr baze na ove eksterne .php fajlove (ajax1.php, ajax2.php, ajax3.php), tako da umjesto 4 konektovanja i odabira baze, radim samo jednu, a da to nisu persistent connections (mysql_pconnect), jer i one imaju svoje nedostatke?!

Koliko znam ukoliko uradimo 2x identicno konektovanje na server u okviru iste skripte, php nece izvršiti ovo drugo, osim ukoliko mu to eksplicitno ne navedemo sa paramterom new_link o okviru mysql_connect() funkcije.

Da li će PHP iskorstiti jednu od ovih konekcija u mom slučaju? Čisto sumnjam, jer se skripte izvršavaju zasebno, tako da pri završteku svake PHP sam zatvori konekciju.

Šta je generalno vaša preporuka za ovu situaciju? Da li je ovo situacija za koju je potrebno korstiti persistent connections?

Sajt ce imati solidnu posjetu u skorije vrijeme od preko 10.000 posjeta dnevno. Da li se sa razlogom cimam oko svega ovoga (gledajuci na broj posjeta)?

Unaprijed zahvaln na bilo kakvoj pomoci i savjetu.

mb

ivanhoe 10. 05. 2008. 12:18

da, u pravu si, poll konekcija na bazu nece raditi izmedju razlicitih poziva skripte osim ako koristis perzistent konekcije... medjutim to je mnogo komplexnije pitanje, iz 2 razloga:

- Ako se smatra da ti posaljes paralelno 4 upita, onda ti ni persistent konekcije ne pomazu sasvim, jer su one persistent unutar jednog apache child, znaci nece biti koriscena jedna konekcija za ta 4 upita vec 4, ali ce za ponovljene upite biti ponovo koriscene pa je zato ipak dobro.

- Vecina browsera ne moze da napravi vise od 2 upita na isti domen u paraleli (po default podesavanjima), tako da ta tvoja paralelizacija u stvari nije paralelna, nego dva pa dva, pa to opet povecava smisao perzistentnih konekcija

U principu za 10K poseta ti to nije mnogo bitno, u smislu servera, ali moze da ima uticaja na dozivljaj posetilaca, koliko ce morati da cekaju da se ucita strana..

I pazi, pravljenje paralelnih ajax poziva moze da ti stvori dosta problema ako koristis sessione, to onda nece raditi paralelno...

mb_sa 10. 05. 2008. 17:21

ivanhoe, kao prvo hvala na odgovoru i podijeljenom iskustvu!

Ne znam tačno sta si mislio pod "ali moze da ima uticaja na dozivljaj posetilaca, koliko ce morati da cekaju da se ucita strana...", ali pretpostavljam da mislis zasto sto se ti ajax pozivi učitavaju tek kada se učita struktura stranice, tj. da se medju posljednim učitavaju, pa to moze "vizuelno" da ne izgleda bas najbolje ili si mislio na ukupnu dužinu učitavanja stranice uslijed eventualnog opterecenja servera upravo zbog ovih, da nazovemo "viška" konekcija?

Pozdrav!

ivanhoe 10. 05. 2008. 17:46

pa ako recio zelis da otvoris 4 ajax konekcije i dodje ti neko sa IE, njemu ce se ucitati 2, pa tek onda druge 2. Posto kazes da se svaka od konekcija kaci na bazu, to znaci traje neko vreme, pogoto sto imas takodje i externe css i javascript fajlove i pretpostavljam neke slike koji ce takodje da se ucitavaju i blokiraju saobracaj... znaci ako tako ucitavas neki bitan deo sadrzaja, to kasnjenje moze da pokvari dozivljaj posetiocu, pa ce ovaj da se smori i ode.. na to sam mislio, nece ti oboriti server sigurno, ali moze da bude sporo za nestrpljive posetioce..

mb_sa 10. 05. 2008. 18:15

Razumijeli smo se otprilike.

Trenutno to nije slucaj i ne bi trebao da bude bas zbog toga. Ti ajax tabovi vracaju samo jako kratke textove, nekolika rečenica.

Čitava stranica se trenutno učitava jako brzo, uredno se kešira od strane browsera, tako da nakon prvog učitavanja, otvaranje je trenutačno.

Jos jednom hvala na odgovorima!

andrejpav 11. 05. 2008. 21:28

Mozes da kesiras sql reslutate ili ceo tekst koji taj ajax vraca.

Vidi koliko cesto od tih 10000 posetilaca ce da koristi tu ajax funkciju uopste. Ako skoro vrlo malo, onda nema sta ni da se brines. Ako svaki drugi, onda mozda ne bi trebao uopste ni da koristis ajax, nego vec imaj taj tekst unutar stranice pa korisit show/hide.

Na kraju uradi neki load testing, pa ces imati dobar osecaj koliko posetilaca tvoj server moze da podnese.


Vreme je GMT +2. Trenutno vreme je 23:40.

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.