Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Równoległe procesy w CLI
Forum PHP.pl > Forum > PHP
athabus
Hej,

w nawiązaniu do mojego poprzedniego wątku o przetwarzaniu równoległych procesów PHP chciałbym zapytać, jak to wygląda od strony praktycznej z przydziałem zasobów na hostingach.


W skrócie mam skrypt CLI, który tworzy procesy wywołujące zadania administracyjne (przetwarzanie danych). W celu optymalizacji chcę dany proces wywoływać wielokrotnie asynchronicznie -> czyli 1 proces wywołany Cronem tworzy np. 15 procesów w tle działających równolegle i przetwarzających fragment danych.


I tu pytanie:
- czy na hostingach ilość procesów cli jest jakoś ograniczona per konto? W apachu zdaje się można ustalić ile procesów równolegle może być odpalonych, ale jak to wygląda ze skryptami CLI, które są wywoływane z pominięciem Apache?
- jeśli takie procesy są ilościowo ograniczone, to na ile zazwyczaj takich procesów mogę liczyć na hostingu shared ?
- co się dzieje z procesem, gdy odpalam więcej niż mogę? Czeka on na wykonanie poprzednich procesów, czy po prostu się nie odpala i "przepada w otchłani"
darko
W opisanym przez Ciebie przypadku proces utworzy sobie kilka lub kilkanaście wątków i będzie współdzielił zasoby w swoim obrębie dopóki wątki nie zużyją całej dostępnej pamięci lub zakończą swoje zadanie. Tutaj ogranicza Cię ustawienie memory_limit dla CLI lub ustawienia workerów. Natomiast algorytm szeregowania procesów w przypadku próby zaalokowania więcej zasobów wywłaszczy taki proces, umożliwiając pracę kolejnym. Ogólnie, oprócz ustawienia max zużycia pamięci liczy się tutaj czas zużycia procesora. Różne shared hostingi różnie to obsługują, ale chyba wszystkie ubijają ostatecznie takie procesy, umożliwiając dalszą pracę systemu operacyjnego. Natomiast jeśli rozmawiamy o max ilości procesów dla php (nie dla CLI) to też różne są limity, od 10 do 20-25 jednocześnie. Zależy ile maszyna udźwignie i na ile finezja administratora pozwoli. Fajny wykład:
http://edu.pjwstk.edu.pl/wyklady/sop/scb/wyklad4/wyklad.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.