Nejste přihlášeni
Stránky 1
Ahoj,
pročetl jsem snad všechny příspěvky týkající se problému maximálního počtu souběžných procesů. Tato chyba se u mých stránek také vyskytuje docela často.
Chtěl bych si ujasnit jak se procesy počítají. Píšu nové stránky a chtěl bych to vyřešit.
Do procesu se počítají všechny ajaxové požadavky na php script? To znamená pokud v určitém okamžiku posílám ajaxem požadavek na načtení dvou částí stránky (např. po přihlášení je potřeba obnovit menu a zároveň obsah stránky), tak vzhledem k tomu, že ajax běží standardně asynchronně, se použijí dva procesy? A pokud jsou na stránce dva lidé a odešlou tento požadavek současně, tak už jsou procesy čtyři? Chápu to správně?
Je určité řešením poslat druhý ajaxový požadavek synchronně až po ukončení prvního požadavku (tj. v jeho události success)? Bude tedy potom započítáván stále jeden současný proces a zpomalení může nastat pouze pokud takový požadavek pošle více uživatelů zároveň?
Protože stránky píšu v localhostu, je nějaká možnost tuto hodnotu sledovat na localhostu? (pro vývoj používám XAMPP na Windows)
Předem díky za zodpovězení mých otázek.
Offline
Počet PHP procesov znamená koľko sa môže súčasne spracovávať php skriptov. Tj ak beh skriptu trvá dlhšiu dobu a do jeho ukončenia server obdrží ďalší požiadavok ktorý tiež na spracovanie požaduje viac ako pár mikrosekúnd a toto sa opakuje kým sa naplní maximálne počet php procesov, tak ostatné požiadavky sú zaradené do fronty a čakajú na ukončenie predošlých požiadavok. Ak k tomu nedôjde po nejakej dobe užívateľ dostane chybovú hlášku.
Toto sa dá prirovnať napríklad k pokladniam v obchode. Ak máte 3 PHP procesy, tj máte 3 pokladne otvorené. Ak je jedna pokladňa obsadená, ďalší zákazník ide k tej vedľa aby bol vybavený hneď. V prípade že sú všetky obsadené veľkými nákupmi, tak ďalší zákazníci musia čakať vo fronte.
Tj, na beh stránky postačuje i menšie množstvo php procesov pokiaľ máte vaše skripty dobre odľadené a ich spracovanie nebude zdržiavané napríklad čakaním na iný externý server atď.
Offline
Moc díky,
takže pokud budu mít povolený 6 procesů a stránka v jeden okamžik bude odesílat dva ajax požadavky, tak aplikace obslouží v tento okamžik pouze 3 lidi, ostatní budou čekat až se uvolní proces.
A co použití include (require) v php se nezapočítává do samostatného procesu?
Offline
Obslúžiť môže ľudí viacej, záleží čo všetko daným skriptom spracovávate. Štandardne sa skript vykoná za pár milisekúnd takže návštevník ani nepostrehne že jeho požiadavok chvíľku čakal, pokiaľ skript nebeží niekoľko sekúnd až desiatok sekúnd.
include (require) vkladá iné súbory do jedného behu skriptu, tj sa týmto spotrebuje 1 php proces
Offline
Moc díky za odpovědi. Je mi to už jasné.
Offline
Stránky 1