PHP procesai: Skirtumas tarp puslapio versijų

Iš IV pagalba klientams.
Peršokti į: navigacija, paiešką
 
(nerodoma 2 tarpinės versijos, sukurtos vieno naudotojo)
2 eilutė: 2 eilutė:
 
== PHP procesai ==
 
== PHP procesai ==
  
Siekiant užtikrinti sąžiningą resursų paskirstymą serverio naudotojams, kiekvienam talpinimo planui yra skiriama tam tikras kiekis PHP procesų, kurių kiekvienas gali išnaudoti iki 1 CPU branduolio. Taigi visi serverio naudotojai gali apkrauti serverį proporcingai, netrikdydami kitų serverio naudotojų svetainių darbo.  
+
Siekiant užtikrinti sąžiningą resursų paskirstymą visiems serverio naudotojams, kiekvienam talpinimo planui yra skiriamas tam tikras kiekis PHP procesų, kurių kiekvienas gali išnaudoti iki 1 CPU branduolio. Taigi visi serverio naudotojai gali apkrauti serverį proporcingai, netrikdydami kitų serverio naudotojų svetainių darbo.  
  
PHP procesai tai yra serverio resursas, kurio pagalba atliekamos įvairios serverio užduotys. Šios užduotys vykdo skaičiavimus, jungiasi prie duomenų bazės, atlieką laiškų siuntimą iš svetainės ir pan. Kai svetainėje esanti PHP programa pradeda užduotį, šiam darbui skiriamas vienas PHP procesas. Kad darbą vienu metu galėtų atlikti dvi programos, joms turi būti skirti du procesai ir t.t. Bendro naudojimo serveriuose PHP procesų kiekis yra ribojamas. Procesų kiekis suteikiamas pagal pasirinktą planą. Daugiau informacijos galite rasti mūsų puslapyje:
+
PHP procesai - serverio resursas, kurio pagalba atliekamos įvairios serverio užduotys. Šios užduotys vykdo skaičiavimus, jungiasi prie duomenų bazės, atlieka laiškų siuntimą iš svetainės ir pan. Kai svetainėje esanti PHP programa pradeda užduotį, šiam darbui skiriamas vienas PHP procesas. Kad darbą vienu metu galėtų atlikti dvi programos, joms turi būti skirti du procesai ir t.t. Bendro naudojimo serveriuose PHP procesų kiekis yra ribojamas. Procesų kiekis suteikiamas pagal pasirinktą planą. Daugiau informacijos galite rasti mūsų puslapyje:
  
 
https://www.serveriai.lt/talpinimas.html
 
https://www.serveriai.lt/talpinimas.html
  
 
'''SVARBU!''' Procesoriaus dalis - tai maksimalus galimas, bet ne garantuojamas procesoriaus resursų kiekis. Talpinant interneto svetainę bendrame serveryje (angl. shared hosting), ji dalinasi bendrus serverio resursus kartu su kitų klientų svetainėmis. Esant poreikiui turėti garantuotus serverio resursus, skirtus tik Jūsų interneto svetainei, rekomenduojame naudoti ''Profesionalaus hostingo'' paslaugą - [http://pro.hostingas.lt/ http://pro.hostingas.lt/].
 
'''SVARBU!''' Procesoriaus dalis - tai maksimalus galimas, bet ne garantuojamas procesoriaus resursų kiekis. Talpinant interneto svetainę bendrame serveryje (angl. shared hosting), ji dalinasi bendrus serverio resursus kartu su kitų klientų svetainėmis. Esant poreikiui turėti garantuotus serverio resursus, skirtus tik Jūsų interneto svetainei, rekomenduojame naudoti ''Profesionalaus hostingo'' paslaugą - [http://pro.hostingas.lt/ http://pro.hostingas.lt/].
 +
  
 
== PHP perviršiai ==
 
== PHP perviršiai ==
  
Jei skirto procesų kiekio nepakaks svetainei tenkančiam krūviui atlaikyti, svetainė veiks lėčiau, nes lankytojų užklausos bus vykdomos ne vienu metu, o paeiliui (tokiais atvejais bus fiksuojamas PHP perviršis).  
+
Jei svetainės talpinimo planui skirto procesų kiekio nepakaks tenkančiam krūviui apdoroti, svetainė veiks lėčiau, nes lankytojų užklausos bus vykdomos ne vienu metu, o paeiliui (tokiais atvejais bus fiksuojamas PHP perviršis).  
  
 
'''Svetainės veikimo sulėtėjimas priklauso nuo PHP perviršių kiekio:'''
 
'''Svetainės veikimo sulėtėjimas priklauso nuo PHP perviršių kiekio:'''
18 eilutė: 19 eilutė:
 
* iki 100 per dieną - veikimas sulėtėja nežymiai, pasitaiko trumpos pauzės naršant po svetainę (kiek viršijimų - tiek pauzių). Lankytojai dažniausiai sulėtėjimo nepastebi. Informaciją apie PHP viršijimus galima rasti procesoriaus naudojimo ataskaitos puslapyje.
 
* iki 100 per dieną - veikimas sulėtėja nežymiai, pasitaiko trumpos pauzės naršant po svetainę (kiek viršijimų - tiek pauzių). Lankytojai dažniausiai sulėtėjimo nepastebi. Informaciją apie PHP viršijimus galima rasti procesoriaus naudojimo ataskaitos puslapyje.
 
* nuo 100 iki 500 per dieną - pastebimas svetainės darbo sulėtėjimas, trukdantis lankytojams naršyti. Būtina optimizuoti daugiausia CPU naudojančias svetainės dalis. Informacija apie PHP procesų limito viršijimus rodoma klientų sistemoje, DirectAdmin valdymo pulte, taip pat siunčiama el. paštu.
 
* nuo 100 iki 500 per dieną - pastebimas svetainės darbo sulėtėjimas, trukdantis lankytojams naršyti. Būtina optimizuoti daugiausia CPU naudojančias svetainės dalis. Informacija apie PHP procesų limito viršijimus rodoma klientų sistemoje, DirectAdmin valdymo pulte, taip pat siunčiama el. paštu.
* nuo 500 iki 1000 per dieną - serveris užklausas aptarnauja su dideliu uždelsimu arba išvis nespėja aptarnauti. Svetainę naršyti sunku, tačiau dar įmanoma.
+
* nuo 500 iki 1000 per dieną - serveris užklausas aptarnauja su dideliu uždelsimu arba tiesiog nespėja aptarnauti. Svetainę naršyti sunku, tačiau dar įmanoma.
 
* virš 1000 per dieną - serveris nebespėja vykdyti daugumos užklausų, lankytojams atrodo, kad svetainė „užlūžusi“.
 
* virš 1000 per dieną - serveris nebespėja vykdyti daugumos užklausų, lankytojams atrodo, kad svetainė „užlūžusi“.
  
25 eilutė: 26 eilutė:
 
'''Kaip užtikrinti patikimą svetainės veikimą viršijus PHP procesų limitą?'''
 
'''Kaip užtikrinti patikimą svetainės veikimą viršijus PHP procesų limitą?'''
  
* Optimizavus svetainės PHP kodą, vienai užklausai įvykdyti prireiks mažiau CPU resursų. Taigi serveris galės aptarnauti daugiau užklausų. Taip pat galima pakeisti dalį dinaminių PHP puslapių į statinius HTML, kuriems netaikomi PHP procesų limitai.
+
* Optimizavus svetainės PHP kodą, vienai užklausai įvykdyti prireiks mažiau CPU resursų, taigi serveris galės aptarnauti daugiau užklausų. Taip pat galima pakeisti dalį dinaminių PHP puslapių į statinius HTML, kuriems netaikomi PHP procesų limitai.
 
* Itin didelio lankytojų srauto sulaukiančių svetainių, taip pat intensyvius skaičiavimus atliekančių sistemų veikimui gali prireikti atskiro serverio.
 
* Itin didelio lankytojų srauto sulaukiančių svetainių, taip pat intensyvius skaičiavimus atliekančių sistemų veikimui gali prireikti atskiro serverio.
  
Pastaba: Jei pageidaujate patikrinti kuri svetainės dalis išnaudoja daugiausiai PHP procesų ar kaip išvalyti perviršių skaitliuką, tai rasite [[PHP_perviršių_tvarkymas|paspaudę čia]].
+
PASTABA: Jei pageidaujate patikrinti, kuri svetainės dalis išnaudoja daugiausiai PHP procesų ar kaip išvalyti perviršių skaitliuką, daugiau informacijos rasite [[PHP_perviršių_tvarkymas|paspaudę čia]].
 +
 
  
 
== PHP proceso įvykdymo laikas ==
 
== PHP proceso įvykdymo laikas ==
  
PHP procesas turi nustatytą laiko limitą per kurį turi būti įvykdomas t.y. laikotarpis, kurio metu vykdoma užklausa. Bendro naudojimo serverių planuose šis limitas yra '''300 sekundžių''' (5-ios minutės). Jeigu per šį laikotarpį nėra įvykdomas procesas, tokiu atveju serverio klaidų išraše matomos klaidos su nurodymu, kad procesas nebuvo įvykdytas per nurodytą laiką ir nutrauktas iš serverio pusės. Detalesnę informaciją, kaip patikrinti serverio klaidų išrašus rasite [[Apache tarnybos klaidų išrašas|paspaudę čia]].
+
PHP procesas turi nustatytą laiko limitą, per kurį turi būti įvykdomas t.y. laikotarpis, kurio metu vykdoma užklausa. Bendro naudojimo serverių (Serveriai.lt) planuose šis limitas yra '''300 sekundžių''' (5-ios minutės). Jeigu per šį laikotarpį nėra įvykdomas, užbaigiamas PHP procesas, tokiu atveju serverio klaidų išraše matomos klaidos su nurodymu, kad procesas nebuvo įvykdytas per nurodytą laiką ir nutrauktas iš serverio pusės. Detalesnę informaciją, kaip patikrinti serverio klaidų išrašus rasite [[Apache tarnybos klaidų išrašas|paspaudę čia]].
  
 
'''Kaip nustatyti, kuri svetainės dalis/failas sukelia per ilgai vykstančius procesus?'''
 
'''Kaip nustatyti, kuri svetainės dalis/failas sukelia per ilgai vykstančius procesus?'''
* Jeigu serverio Apache klaidų išraše matote pranešimą:
+
 
 +
* Serverio Apache klaidų išraše matote pranešimą:
 
<pre style="white-space: pre-wrap;">
 
<pre style="white-space: pre-wrap;">
 
[Mon Feb 27 08:32:15.006529 2017] [fastcgi:error] [pid 19507] [client 194.XXX.87.131:60098] FastCGI: incomplete headers (0 bytes) received from server "/usr/local/fastcgi/cgi-bin/php-cgi" aborted: (first read) idle timeout (300 sec), referer: http://www.domenas.lt/wp-content/failas.php
 
[Mon Feb 27 08:32:15.006529 2017] [fastcgi:error] [pid 19507] [client 194.XXX.87.131:60098] FastCGI: incomplete headers (0 bytes) received from server "/usr/local/fastcgi/cgi-bin/php-cgi" aborted: (first read) idle timeout (300 sec), referer: http://www.domenas.lt/wp-content/failas.php
 
</pre>
 
</pre>
  
* Tai reiškia, kad svetainėje buvo fiksuotas neįvykdytas procesas, kuris truko ilgiau nei 300 sekundžių ir buvo nutrauktas iš serverio pusės. Klaidos pabaigoje nurodoma tiksli nuoroda į svetainės failą, kuris atliko šią užduotį. Tai reiškia, kad per ilgai trunkanti užduotis buvo vykdoma šio failo ir reikėtų peržiūrėti šio failo programinį kodą bei pašalinti problemos priežastį. Šiuos darbus turėtų atlikti Jūsų svetainės kūrėjas/programuotojas.
+
* Tokio pobūdžio apache klaidos nurodo, kad svetainėje buvo fiksuotas neįvykdytas procesas, kuris truko ilgiau nei 300 sekundžių ir buvo nutrauktas iš serverio pusės. Klaidos pabaigoje nurodoma tiksli nuoroda į svetainės failą, kuris atliko šią užduotį. Tai reiškia, kad per ilgai trunkanti užduotis buvo vykdoma šio failo ir reikėtų peržiūrėti šio failo programinį kodą, bei pašalinti problemos priežastį. Šiuos darbus turėtų atlikti Jūsų svetainės kūrėjas/programuotojas.
  
 
* Papildomą informaciją (kokio tipo užklausa bei kada buvo vykdoma) galite matyti ir Apache žurnale. Konkrečiai šiuo atveju buvo fiksuojamas įrašas:
 
* Papildomą informaciją (kokio tipo užklausa bei kada buvo vykdoma) galite matyti ir Apache žurnale. Konkrečiai šiuo atveju buvo fiksuojamas įrašas:
49 eilutė: 52 eilutė:
 
Neįvykdyti procesai gali sulėtinti arba iš viso sustabdyti svetainės darbą. Norint išvengti šių klaidų reikia optimizuoti svetainės PHP kodą arba keisti dalį svetainės dinaminių PHP puslapių į statinius. Dėl šių darbų kreipkitės į svetainės kūrėjus/programuotojus.
 
Neįvykdyti procesai gali sulėtinti arba iš viso sustabdyti svetainės darbą. Norint išvengti šių klaidų reikia optimizuoti svetainės PHP kodą arba keisti dalį svetainės dinaminių PHP puslapių į statinius. Dėl šių darbų kreipkitės į svetainės kūrėjus/programuotojus.
  
'''SVARBU!''' Didelis kiekis per ilgai trunkančių procesų daro įtaką serverio darbui. Tai gali sulėtinti kitų klientų svetaines esančias tame pačiame serveryje, todėl pastebėjus šią veikslą iš mūsų pusės yra fiksuojami sutarties sąlygų pažeidimai ir apribojama paslauga. Platesnę informaciją apie sutarties sąlygų pažeidimus galite rasti [[Sutarties_sąlygų_pažeidimai|paspaudę čia]].
+
'''SVARBU!''' Didelis kiekis per ilgai trunkančių procesų daro įtaką serverio darbui. Tai gali sulėtinti kitų klientų svetaines esančias tame pačiame serveryje, todėl pastebėjus šią veikslą iš mūsų pusės yra fiksuojami sutarties sąlygų pažeidimai ir apribojamas paslaugos tiekimas. Platesnę informaciją apie sutarties sąlygų pažeidimus galite rasti [[Sutarties_sąlygų_pažeidimai|paspaudę čia]].
 
+
[[Kategorija:Talpinimo plano naudojimas]]
[[Kategorija:Serverio_ir_PHP_nustatymai]]
 
[[Kategorija:Talpinimo_problemų_sprendimas]]
 

Dabartinė 15:18, 11 rugsėjo 2019 versija

PHP procesai

Siekiant užtikrinti sąžiningą resursų paskirstymą visiems serverio naudotojams, kiekvienam talpinimo planui yra skiriamas tam tikras kiekis PHP procesų, kurių kiekvienas gali išnaudoti iki 1 CPU branduolio. Taigi visi serverio naudotojai gali apkrauti serverį proporcingai, netrikdydami kitų serverio naudotojų svetainių darbo.

PHP procesai - serverio resursas, kurio pagalba atliekamos įvairios serverio užduotys. Šios užduotys vykdo skaičiavimus, jungiasi prie duomenų bazės, atlieka laiškų siuntimą iš svetainės ir pan. Kai svetainėje esanti PHP programa pradeda užduotį, šiam darbui skiriamas vienas PHP procesas. Kad darbą vienu metu galėtų atlikti dvi programos, joms turi būti skirti du procesai ir t.t. Bendro naudojimo serveriuose PHP procesų kiekis yra ribojamas. Procesų kiekis suteikiamas pagal pasirinktą planą. Daugiau informacijos galite rasti mūsų puslapyje:

https://www.serveriai.lt/talpinimas.html

SVARBU! Procesoriaus dalis - tai maksimalus galimas, bet ne garantuojamas procesoriaus resursų kiekis. Talpinant interneto svetainę bendrame serveryje (angl. shared hosting), ji dalinasi bendrus serverio resursus kartu su kitų klientų svetainėmis. Esant poreikiui turėti garantuotus serverio resursus, skirtus tik Jūsų interneto svetainei, rekomenduojame naudoti Profesionalaus hostingo paslaugą - http://pro.hostingas.lt/.


PHP perviršiai

Jei svetainės talpinimo planui skirto procesų kiekio nepakaks tenkančiam krūviui apdoroti, svetainė veiks lėčiau, nes lankytojų užklausos bus vykdomos ne vienu metu, o paeiliui (tokiais atvejais bus fiksuojamas PHP perviršis).

Svetainės veikimo sulėtėjimas priklauso nuo PHP perviršių kiekio:

  • iki 100 per dieną - veikimas sulėtėja nežymiai, pasitaiko trumpos pauzės naršant po svetainę (kiek viršijimų - tiek pauzių). Lankytojai dažniausiai sulėtėjimo nepastebi. Informaciją apie PHP viršijimus galima rasti procesoriaus naudojimo ataskaitos puslapyje.
  • nuo 100 iki 500 per dieną - pastebimas svetainės darbo sulėtėjimas, trukdantis lankytojams naršyti. Būtina optimizuoti daugiausia CPU naudojančias svetainės dalis. Informacija apie PHP procesų limito viršijimus rodoma klientų sistemoje, DirectAdmin valdymo pulte, taip pat siunčiama el. paštu.
  • nuo 500 iki 1000 per dieną - serveris užklausas aptarnauja su dideliu uždelsimu arba tiesiog nespėja aptarnauti. Svetainę naršyti sunku, tačiau dar įmanoma.
  • virš 1000 per dieną - serveris nebespėja vykdyti daugumos užklausų, lankytojams atrodo, kad svetainė „užlūžusi“.

Procesų limitas neįtakoja statinio turinio (HTML puslapiai, paveikslėliai) pateikimo greičio - toks turinys visada pateikiamas maksimaliu greičiu.

Kaip užtikrinti patikimą svetainės veikimą viršijus PHP procesų limitą?

  • Optimizavus svetainės PHP kodą, vienai užklausai įvykdyti prireiks mažiau CPU resursų, taigi serveris galės aptarnauti daugiau užklausų. Taip pat galima pakeisti dalį dinaminių PHP puslapių į statinius HTML, kuriems netaikomi PHP procesų limitai.
  • Itin didelio lankytojų srauto sulaukiančių svetainių, taip pat intensyvius skaičiavimus atliekančių sistemų veikimui gali prireikti atskiro serverio.

PASTABA: Jei pageidaujate patikrinti, kuri svetainės dalis išnaudoja daugiausiai PHP procesų ar kaip išvalyti perviršių skaitliuką, daugiau informacijos rasite paspaudę čia.


PHP proceso įvykdymo laikas

PHP procesas turi nustatytą laiko limitą, per kurį turi būti įvykdomas t.y. laikotarpis, kurio metu vykdoma užklausa. Bendro naudojimo serverių (Serveriai.lt) planuose šis limitas yra 300 sekundžių (5-ios minutės). Jeigu per šį laikotarpį nėra įvykdomas, užbaigiamas PHP procesas, tokiu atveju serverio klaidų išraše matomos klaidos su nurodymu, kad procesas nebuvo įvykdytas per nurodytą laiką ir nutrauktas iš serverio pusės. Detalesnę informaciją, kaip patikrinti serverio klaidų išrašus rasite paspaudę čia.

Kaip nustatyti, kuri svetainės dalis/failas sukelia per ilgai vykstančius procesus?

  • Serverio Apache klaidų išraše matote pranešimą:
[Mon Feb 27 08:32:15.006529 2017] [fastcgi:error] [pid 19507] [client 194.XXX.87.131:60098] FastCGI: incomplete headers (0 bytes) received from server "/usr/local/fastcgi/cgi-bin/php-cgi" aborted: (first read) idle timeout (300 sec), referer: http://www.domenas.lt/wp-content/failas.php
  • Tokio pobūdžio apache klaidos nurodo, kad svetainėje buvo fiksuotas neįvykdytas procesas, kuris truko ilgiau nei 300 sekundžių ir buvo nutrauktas iš serverio pusės. Klaidos pabaigoje nurodoma tiksli nuoroda į svetainės failą, kuris atliko šią užduotį. Tai reiškia, kad per ilgai trunkanti užduotis buvo vykdoma šio failo ir reikėtų peržiūrėti šio failo programinį kodą, bei pašalinti problemos priežastį. Šiuos darbus turėtų atlikti Jūsų svetainės kūrėjas/programuotojas.
  • Papildomą informaciją (kokio tipo užklausa bei kada buvo vykdoma) galite matyti ir Apache žurnale. Konkrečiai šiuo atveju buvo fiksuojamas įrašas:
194.XXX.87.131 - - [27/Feb/2017:08:27:13 +0200] "POST /failas.php HTTP/1.1" 500 531 "http://www.domenas.lt/wp-content/failas.php" "WordPress/4.7.2; http://www.domenas.lt"

Neįvykdyti procesai gali sulėtinti arba iš viso sustabdyti svetainės darbą. Norint išvengti šių klaidų reikia optimizuoti svetainės PHP kodą arba keisti dalį svetainės dinaminių PHP puslapių į statinius. Dėl šių darbų kreipkitės į svetainės kūrėjus/programuotojus.

SVARBU! Didelis kiekis per ilgai trunkančių procesų daro įtaką serverio darbui. Tai gali sulėtinti kitų klientų svetaines esančias tame pačiame serveryje, todėl pastebėjus šią veikslą iš mūsų pusės yra fiksuojami sutarties sąlygų pažeidimai ir apribojamas paslaugos tiekimas. Platesnę informaciją apie sutarties sąlygų pažeidimus galite rasti paspaudę čia.