Limit procesów PHP, połączeń do bazy i zużycia RAM na proces

Aby zapewnić stabilność działania usług hostingowych, każdy z pakietów hostingu współdzielonego posiada limity procesów PHP, połączeń do bazy i zużycia RAM na proces. Limity te ustalone są w taki sposób, by nie zakłócać działania stron WWW na hostingu, ale jednocześnie także zapewnić każdemu z Klientów szybką, bezpieczną i stabilną usługę hostingową.

Limit liczby procesów PHP

Proces PHP możemy sobie wyobrazić jako wykonawcę kodu naszej strony. W dużym uproszczeniu — wczytuje on kod w postaci plików tekstowych PHP, przetwarza i następnie zwraca nam wynik w postaci tego co widzimy w przeglądarce.
Przetwarzanie polega np. na pobieraniu produktów z bazy danych sklepu, pobieraniu postów z bazy danych bloga, łączeniu wielu innych plików w jeden wynikowy przesłany potem do przeglądarki, wykonywaniu działań matematycznych, logicznych i komunikacyjnych z innymi systemami (choćby sprawdzenie dostępnych aktualizacji WordPressa).

Limit ten odnosi się tylko do procesów PHP, a więc jeśli nasza strona nie korzysta z tej technologii, to nie musimy się nim martwić.

Pliki HTML, CSS, JavaScript nie są bezpośrednio przetwarzane przez procesy PHP. W ogólności są one wynikiem przetwarzania procesów PHP. Dlatego też, gdy nasza strona używa jedynie technologii HTML, CSS i JavaScript pomijamy krok przetwarzania, dzięki czemu zazwyczaj takie strony działają szybciej.

Limit np. 10 procesów, oznacza, że w danej chwili może być uruchomione co najwyżej 10 procesów przetwarzania PHP. Jednak nie określa to bezpośrednio “pojemności” naszej strony. Jeden proces może obsługiwać kolejno wielu klientów. Im szybciej to robi, tym większą ilość jest w stanie obsłużyć. Szybkość zależy od wielu czynników, ale przede wszystkim od jakości kodu strony. Można ją również poprawić, przechodząc na wyższą wersję PHP, jeśli kod strony na to pozwala. Więcej o podstawach optymalizacji strony przeczytasz w naszym artykule na blogu.

Ograniczenie zużycia RAM na proces

Dobrym porównaniem pamięci RAM są szuflady w biurku. Nie są duże, ale mamy do nich szybki dostęp. Procesy PHP używają pamięci RAM podczas działania. Jeśli przetwarzane skrypty wymagają jej więcej, niż zezwala limit, wykonywanie ich wydłuży się ze względu na częstsze operacje w pamięci RAM — tj. przenoszenie danych z dysku do pamięci RAM i na odwrót.

Limit połączeń do MySQL

Określa limit jednoczesnych połączeń do bazy danych MySQL. Tak jak poprzednie parametry również ma wpływ na wydajność całego procesu przetwarzania. W przypadku, gdy brakuje wolnych slotów, proces PHP nie zostanie od razu wykonany. W zależności od aplikacji (i sposobu, w jaki jest zaprogramowana, aby radzić sobie w takich sytuacjach) może dojść albo do przerwania wykonywania skryptu (i wyświetlenia błędu komunikacji z bazą danych), albo do opóźnienia jego wykonania aż pojawi się wolny slot na połączenie z bazą (aplikacja może np. wykonać kilka prób połączenia, zanim wyświetli błąd). Ten parametr zazwyczaj nie jest kluczowy, chyba że nasza strona ma naprawdę nieoptymalnie skonstruowane zapytania SQL.