Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
La multi ani mie!

Senzor filtru particule GOLF 7

La multi ani @radu103!

La multi ani @Nenea Zap!
 La multi ani @beavis03!

BlackView Oscal Pad 13, probleme ...

Baterie auto AGM 70AH vs normala ...

Depanero nu vrea sa imi dea Negat...
 Extras carte funciara

Carucior pliabil pentru cumparatu...

In ce supermarket gasesc carne de...

Cat de riscant e sa rezerv un hot...
 Audi Q3 F3 PHEV - impresii si con...

AC Vortex nu mai incalzește

Scule electrice și impactul ...

Huawei Pura 70/Pro/Ultra
 

Connection pool in php

* * * * * 1 votes
  • Please log in to reply
27 replies to this topic

#1
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010
1) Exista facilitatea "connection pool" in php in felul in care exista in java ?
https://en.wikipedia...Connection_pool

2) Concret, se pot loga simultan 200.000 de utilizatori la o aplicatie php ?

3) Pot creste scalabilitatea unei aplicatii php (in sensul cresterii numarului de utilizatori simultani) doar prin imbunatatirea performantelor hardului ? Sa zicem de la 200.000 la 400.000.

4) Exista vreo promisiune ca in viitor facilitatea "connection pool" in sensul java sa devina posibila in php ?

PS: Din ce am gasit pe internet in 2008 nu exista aceasta facilitate. Au mai trecut insa 10 ani...

Edited by RomeoM, 19 January 2018 - 17:04.


#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,058
  • Înscris: 24.02.2006
pari sa confunzi un feature al sistemului de baze de date cu un feature al limbajului care foloseste sgbd-ul.

#3
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View Post_Smiley_, on 19 ianuarie 2018 - 17:16, said:

pari sa confunzi un feature al sistemului de baze de date cu un feature al limbajului care foloseste sgbd-ul.
M-am exprimat gresit. trebuie corectat. Este vorba de o problema de scalabilitate. Connection pool tine de sgbd. Reformulez.
1) Pot sa ma conectez la o aplicatie php cu 100.000 de utilizatori simultan ?
2) Cresterea scalabilitatii de la 100.000 de utilizatori simultan la 300.000 tine doar de hard sau exista limitari impuse de tehnologie ?

Edited by RomeoM, 19 January 2018 - 17:53.


#4
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014
nu are, si oricum chestia asta ar trebui sa tina de server, nu de vreun interpretor.
dar de ce crezi ca ai nevoie de asa ceva? ce fel de aplicatie e, ce reprezinta utilizatorii?

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Prin diferitele module PHP pentru baze de date ai asa-numitele "persistent connection", cu ele poti creste scalabilitatea in modul in care sugerezi tu ca vrei.

Dar nu sunt sigur ca intelegi ce vrei.

Abordarea pe care o implica ce vrei tu e ca in codul sursa sunt listate cateva sute de mii de perechi user/parola. Altfel nu are niciun sens intrebarea ta, pentru ca problema nu exista: ai un server php, si utilizatorii (alea sute de mii) interactioneaza cu baza de date printr-un singur server, deci un singur user/parola.

Numarul de conexiuni depinde de cate procese ruleaza simultan. Daca ai php ca modul apache, MPM-ul folosit de apache decide asta, de exemplu.


Deci decat sa te invarti degeaba pe aici, mai bine descrie problema concreta pe care o ai.

#6
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View Postalx42, on 19 ianuarie 2018 - 18:41, said:

ce fel de aplicatie e, ce reprezinta utilizatorii?
De ce crapa servere cu aplicatii php de black friday ?
De ce aplicatiile bancare (java+Oracle) nu crapa ?

Cand 200 de mii de chinezi se conecteaza la Bank of America luni dimineata pt afaceri, nu e nici o problema.
De black friday crapa multe serverele si asta devine stire importanta la jurnalele tv.
De unde vine limitarea in aplicatii php ? Doar de la hard (severe) sau si de la php ?

Edited by RomeoM, 19 January 2018 - 18:53.


#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostRomeoM, on 19 ianuarie 2018 - 18:51, said:

De ce crapa servere cu aplicatii php de black friday ?
De ce aplicatiile bancare (java+Oracle) nu crapa ?

Cand 200 de mii de chinezi se conecteaza la Bank of America luni dimineata pt afaceri, nu e nici o problema.
De black friday crapa multe serverele si asta devine stire importanta.
De unde vine limitarea in aplicatii php ? Doar de la hard (severe) sau si de la php ?
Nu are legatura cu limbajul, ci cu arhitectura.

Pentru a procesa 200k cereri intr-un timp scurt, ai nevoie de un sistem distribuit, highly available. In general, marea masa de programatori PHP nu stiu de lucruri d-astea.

Facebook de exemplu, chiar daca nu foloseste doar PHP, face fata traficului, datorita arhitecturii.

Acest raspuns e suficient daca esti doar curios "de ce", si nu ai o intrebare tehnica concreta.

Edited by OriginalCopy, 19 January 2018 - 18:58.


#8
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014
e din cauza modului cum e conceput.
phpul este facut astfel incat sa porneasca la fiecare cerere. ca si cand pornesti si inchizi un browser dupa fiecare pagina vizitata.
deci chiar si codul nespecific unei anume cereri ruleaza la fiecare cerere.
daca crezi ca asta te afecteaza, iti recomand nodejs. are server integrat, functii asincrone, connection pooling si ce vrei tu :)

#9
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Nodejs e bun pentru I/O bound, dar nasol pentru CPU-bound.

Eu zic sa nu dam sfaturi orbeste.

Doar o problema concreta poate duce la crearea unei arhitecturi robuste.

Restul sunt vorbe in vant.

#10
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014
de ce e nasol pt "cpu-bound" ? nu inteleg la ce te referi.

dpmdv php e bun doar cand nu ai alternativa, adica ai nevoie de niste anume librarii si nu le gasesti altundeva, sau nu-s suficient de mature, sau ai deja o baza in php si nu vrei sa o iei de la 0.
altfel e o tehnologie depasita din toate punctele de vedere.

#11
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View PostOriginalCopy, on 19 ianuarie 2018 - 18:56, said:

Nu are legatura cu limbajul, ci cu arhitectura.

Pentru a procesa 200k cereri intr-un timp scurt, ai nevoie de un sistem distribuit, highly available. In general, marea masa de programatori PHP nu stiu de lucruri d-astea.

Facebook de exemplu, chiar daca nu foloseste doar PHP, face fata traficului, datorita arhitecturii.

Acest raspuns e suficient daca esti doar curios "de ce", si nu ai o intrebare tehnica concreta.
1) Din cate inteleg, in cazul in care ai niste profesionisti care care sa iti configureze optim un sistem distribuit, highly available, o aplicatie php poate face fata la 100.000 de accesari concurente.
2) Aceeasi aplicatie scrisa in Java EE necesita alelasi efort si superspecializare in arhitecturi distribuite pt a face fata la 100.000 de accesari concurente ?

#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007

View Postalx42, on 19 ianuarie 2018 - 19:05, said:

de ce e nasol pt "cpu-bound" ? nu inteleg la ce te referi.

Node.js e single threaded. Daca te apuci sa faci ceva (ex sa redimenionezi o imagine folosind cod javascript), aproape nu mai misca nimic pana termina.

View PostRomeoM, on 19 ianuarie 2018 - 19:07, said:

1) Din cate inteleg, in cazul in care ai niste profesionisti care care sa iti configureze optim un sistem distribuit, highly available, o aplicatie php poate face fata la 100.000 de accesari concurente.

Sistemul distribuit trebuie in primul rand proiectat apoi executat corespunzator, nu e suficienta configurarea.

View PostRomeoM, on 19 ianuarie 2018 - 19:07, said:

2) Aceeasi aplicatie scrisa in Java EE necesita alelasi efort si superspecializare in arhitecturi distribuite pt a face fata la 100.000 de accesari concurente ?

Usor nu e in nici un limbaj. Sunt destule aplicatii Java EE unde ca singur utilizator imbatranesti pana se incarca pagina, dar mai 100.000. Apoi ce inseamna 100.000 accesari concurente? Intr-o ora? Intr-o secunda? Fiecare de 10x/ secunda? Toti scriu? Toti citesc doar prima pagina?

Cu cat se doreste o solutie mai performanta, cu atat sunt mai importante detaliile.

Edited by dani.user, 19 January 2018 - 19:13.


#13
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014
pai si php nu e tot single-threaded? :)

in nodejs ai posibilitatea sa deschizi subprocese in care iti faci treaba grea, si sa comunici foarte usor cu ele si in mod asincron... spre deosebire de php unde poti, dar foarte greoi, ca sa nu mai zic ca nici nu exista api dedicat pt asa ceva (ca oricum nimeni nu face asta in php)

#14
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostRomeoM, on 19 ianuarie 2018 - 19:07, said:

1) Din cate inteleg, in cazul in care ai niste profesionisti care care sa iti configureze optim un sistem distribuit, highly available, o aplicatie php poate face fata la 100.000 de accesari concurente.
2) Aceeasi aplicatie scrisa in Java EE necesita alelasi efort si superspecializare in arhitecturi distribuite pt a face fata la 100.000 de accesari concurente ?
Grosso modo, da.

Avantajul java e ca e posibil sa faci totul cu mai putina fragmentare, dar privita de la departare o arhitectura HA arata cam la fel (exista diferite abordari, dar nu discutam despre asta aici).

Iar un sistem distribuit nu se configureaza, nu e ca si cum ai o aplicatie nedistribuita, si o configurezi diferit ca sa o faci distribuita. Trebuie sa o gandesti distribuita de la inceput (sau refactoring masiv).


Nu e ca si cum ai putea sa iei jeguri gen wordpress, sau lucruri prefabricate gen "magento", si sa faci magie ca sa le transformi in distribuite.

View Postalx42, on 19 ianuarie 2018 - 19:16, said:

pai si php nu e tot single-threaded? Posted Image
Nu.

View Postalx42, on 19 ianuarie 2018 - 19:16, said:

in nodejs ai posibilitatea sa deschizi subprocese in care iti faci treaba grea, si sa comunici foarte usor cu ele si in mod asincron... spre deosebire de php unde poti, dar foarte greoi, ca sa nu mai zic ca nici nu exista api dedicat pt asa ceva (ca oricum nimeni nu face asta in php)
Eu zic sa iei o carte in mana si sa citesti despre ce e aia io-bound, cpu-bound, si teoria sistemelor distribuite.

Aici e forum de discutii, nu ca sa stam sa predam lucruri ce pot fi invatate din surse educationale deja existente.

Asta daca vrei sa participi la discutie pe picior de egalitate (din moment ce recomanzi tehnologii).

#15
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View PostOriginalCopy, on 19 ianuarie 2018 - 19:17, said:

Grosso modo, da.

Avantajul java e ca e posibil sa faci totul cu mai putina fragmentare, dar privita de la departare o arhitectura HA arata cam la fel (exista diferite abordari, dar nu discutam despre asta aici).

Iar un sistem distribuit nu se configureaza, nu e ca si cum ai o aplicatie nedistribuita, si o configurezi diferit ca sa o faci distribuita. Trebuie sa o gandesti distribuita de la inceput (sau refactoring masiv).


Nu e ca si cum ai putea sa iei jeguri gen wordpress, sau lucruri prefabricate gen "magento", si sa faci magie ca sa le transformi in distribuite.
1) Daca ar fi sa pornesti de la 0 ai alege java ee sau php ?
2) Costurile de dezvoltare in java ee se dubleaza, se tripleaza ?

#16
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postdani.user, on 19 ianuarie 2018 - 19:11, said:

Cu cat se doreste o solutie mai performanta, cu atat sunt mai importante detaliile.
+1

View PostRomeoM, on 19 ianuarie 2018 - 19:20, said:

1) Daca ar fi sa pornesti de la 0 ai alege java ee sau php ?
2) Costurile de dezvoltare in java ee se dubleaza, se tripleaza ?
1) depinde de detalii, de cerintele concrete. Nu as alege neaparat java ee
2) costurile sunt in aceeasi ordine de marime indiferent de limbaj, date fiind aceleasi cerinte

Edited by OriginalCopy, 19 January 2018 - 19:24.


#17
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014

View PostOriginalCopy, on 19 ianuarie 2018 - 19:20, said:


Nu.


Eu zic sa iei o carte in mana si sa citesti despre ce e aia io-bound, cpu-bound, si teoria sistemelor distribuite.

Aici e forum de discutii, nu ca sa stam sa predam lucruri ce pot fi invatate din surse educationale deja existente.

Asta daca vrei sa participi la discutie pe picior de egalitate (din moment ce recomanzi tehnologii).
si eu zic sa lasi aerele de superioritate si sa explici ce ai afirmat, daca vrei sa fi luat in serios.

si php nu e multi-threaded in viata reala, cu apache, nginx etc.
faptul ca e posibil sa ai mai multe fire de executie daca si parca, e cu totul altceva. dar irelevant in practica din moment ce nimeni nu face uz de asta din motive evidente.

in nodejs ai event-loop care da, e single threaded ca phpul din practica, dar pe langa asta exista suport solid pt multi-threading fata de php, unde e acel suport e aproape 0.

#18
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
php nu e single-threaded in modul in care nu e limitat asa cum e limitat nodejs. dani.user ti-a explicat.

Si nu pot lasa aerele, cand scriu foarte clar, si primesc ca raspuns o intrebare care imi arata cu cine vorbesc:

View Postalx42, on 19 ianuarie 2018 - 19:05, said:

de ce e nasol pt "cpu-bound" ? nu inteleg la ce te referi.

Din punctul meu de vedere, eu vorbesc la nivelul la care ma aflu, daca tu te simti inferior si pui intrebari de novici ca cea de mai sus atunci mingea e in terenul tau, nu al meu.

Eu ma cobor la nivelul de incepator al lui @OP si ii explic cum stau lucrurile, deoarece arata ca doreste sa inteleaga. Da, nimeni nu s-a nascut atotstiutor si e normal sa fie asa.

La nivelul tau nu ma pot cobori, pentru ca vii si dai orbeste recomandari, fara sa intelegi despre ce vorbesti.

Edited by OriginalCopy, 19 January 2018 - 20:18.


Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate