cURL conexiune permanentă Nou
Toate bun venit!
Mă îndoiesc că întrebarea se referă direct la modx, dar va fi util să se consulte cu cunoștințele.
2. În acest proces, am întâlnit executarea lentă a interogării: până la 5-10 secunde. Prin urmare, am dat peste articol: solicitări Http - toți greșim. Ideea este că nu este necesar să creați o conexiune pentru fiecare solicitare, ceea ce împiedică serios implementarea acesteia.
5. Din cauza duratei lungi de execuție, apare întrebarea. Să presupunem că 100 de utilizatori vor lansa acest fragment în același timp. Cred că fie serverul se blochează, nu permite să îndeplinească funcțiile de bază ale site-ului, fie că vor exista probleme cu forumul. Trebuie să organizez coada de execuție pentru aceste solicitări?
Dar din moment ce Sunt la el cel mai mare 0, aș dori să mă consulte înainte de biciclete de la cârje.
Mai întâi trebuie să citiți despre phpDaemon. apoi despre prize. și apoi mult timp să gândească.
Personal, pentru rezolvarea unor probleme similare în ceea ce privește găzduirea, nu am contactat PHP și l-am învățat pe Python.
Mulțumesc pentru sfat!
Și aș lua un nod (nodejs). Dar nu se poate face față - există prea multe nuanțe pentru o persoană nepregătită)
Noda este cu siguranță bună, că doar VPS-ul meu nu va face față. Există planuri de a revigora site-ul, și de a scăpa de cârje, atunci când se deplasează la un alt server, cu supraaglomerarea funcționale, cu toate acestea, prea devreme.
că doar VPS-ul meu nu se poate ocupa de Chait? La mine pe mașina locală, pe Windows, procesul Nodov care nu face nimic, ocupă 6,5 megaocteți de spațiu de stocare. Asta e tot. Pentru sarcina dvs. (pentru a primi și trimite cereri) - nu mult mai mult. Orice vps'ka o stăpânește.
În general, pentru sarcina dvs., toate aceste dansuri, cu păstrați-viu pentru curl de la php, nu au absolut nici un sens, dacă pentru un client nu trebuie să faceți mai mult de o singură cerere la un site terț.
La dvs. ca - utilizatorul deschide pagina dvs. (sau trimite o solicitare post-cerere, este lipsit de importanță), un fragment prin curl face o cerere pe un site extern, primește și oferă datele clientului și toate - procesul de php moare. După cum se spune - "php trăiește să moară". Pentru un alt utilizator, se creează un proces separat php, care nu știe nimic despre solicitarea precedentă a clientului anterior și nu ar trebui să știe. În consecință, dansând cu lipsa de sens.
Așa este. Pentru a utiliza păstrați-viu, văd doar o singură opțiune.
Serverul web de pe nod este ridicat, ceea ce asculta localhost pe, de exemplu, un port de 3000m.
Acest server web pentru fiecare solicitare are datele dvs., pe care trebuie să le trimiteți unui site terță parte, face această cerere în mod special către un site terță parte și răspunde. Fragmentul tău, prin curbura, trimite cereri către această localitate locală: 3000. care ia un nod și de la el primește un răspuns.
Ie în exemplul dvs. lanțul este:
1. Clientul trimite date;
2. fragmentul le primește;
3. fragmentul trimite ceva prin curl către un site terță parte;
4. curl primeste un raspuns de la un site terti;
5. oferă date clientului;
6. php moare.
În exemplul cu nodul acesta va arăta astfel:
1. Clientul trimite date;
2. fragmentul le primește;
3. trimite ceva la nod prin curl pe localhost: 3000 (și aici, vă reamintesc, nodul nu va pierde timpul la pornire și inițializare, deoarece este deja pornit și inițializat, adică totul se întâmplă cât mai repede posibil);
4. Nodul primește datele și le trimite la un site terț;
5. Nodul preia datele dintr-un site terț și îl dă departe;
6. curl acest rezultat ia;
7. oferă date clientului;
8. php moare, iar nodul continuă să trăiască.
Deci, aici, sobssna, întrebarea - unde este premiul? Și aceasta este cea mai corectă întrebare!
Despre ce pierdem:
- trimiterea unei cereri către nod;
- pentru a primi un răspuns de la nod;
- verificați din php - dacă procesul nodului este pornit și, dacă nu, apoi executați (sau reveniți la versiunea curentă - solicitați direct către un site terț prin curl, pentru a nu pierde timpul la lansarea nodului).
Și dacă vor exista cheltuieli care să acopere un premiu de la "păstrați viața" este o mare întrebare.
Acest lucru are sens doar dacă există o mulțime de conexiuni simultane. În cazul tău - numărul de utilizatori care vor trimite simultan cereri prin intermediul serviciului tău.
Și de fapt - dacă utilizatorii dvs. de servicii fac cereri mai puțin de o dată în 30 de secunde, atunci tot acest șamanism nu are sens deloc. De ce? Încearcă să te ghicești :-)
Și din moment ce sunteți sigur de slăbiciunea vps-ului dvs., atunci (cel mai probabil) nu aveți un număr atât de simultani de utilizatori pe site-ul dvs., iar ultima opțiune este una cea mai probabilă :) Iartă-mă, confundată cu Shared. La mine, din anumite motive, asociația V - virtuală - și înseamnă slabă.
A fost cu Shared că a trecut la UPU, odată cu creșterea publicului.
Proiectul curent este pe un pervers, este mult mai profitabil să păstrăm partajat în stadiul de dezvoltare (nu-l păstrez pe calculatorul meu pentru vreun motiv). Și există un Jim care la etapa de promovare, frânele pe Shared va începe.
Cu toate acestea, a lăsat totul ca atare, aparent nu atât de mult și încărcări, destul de ciudat durează aproximativ 3 secunde pentru a interoga, care este aproape nu observabil, uita la ajaxloader.
Am de gând să trec la hardware mai puternic, dar în același timp nu vreau să mă grăbesc.
Nu știu ce fier este necesar pentru un anumit scop.
Traficul a fost inundat, putând ajunge până la 50 de persoane la un moment dat. Și mi se pare că, prea adesea, sunt "goale" un forum străin. Cum pot seta un cronometru? sau cum să o numiți.
Și mi se pare din nou - este necesar să înțelegeți în mod clar și să nu inventați.) Să conduceți un jurnal pentru a înțelege cât de des se fac interogări. Deși, stupid în fișier scrie - nu contează.
De fapt, am dreptate, mă loghez prin 1 link, pe pars pe 2 și trimit un mesaj la 3 Apoi face cum a fost descris în acel articol cu un hub - open curl_init. face cereri la forum după cum este necesar și numai după ce toate cererile închid conexiunea curl_close (nu uitați să includeți opțiunea verbose în curl).
Din nou, trebuie să remediați cumva - dar clienții dvs. chiar așteaptă un răspuns de la un forum deschis. Ie serverul dvs. poate rezista la 50 de persoane la un moment dat (dar poate? la momentul încărcării de vârf și serverul dvs. nu face față?), dar face acest forum terț să reziste la o astfel de încărcare?
Aici ghiceste, după cum înțelegeți, nu sunt adecvate - totul trebuie monitorizat pentru a trage concluzii.