Sklep oferujący kilkanaście lub kilkadziesiąt tysięcy produktów wymaga do poprawnego działania odpowiedniego środowiska serwerowego, przygotowanego przede wszystkim na obsługę znacznej liczby zapytań kierowanych do bazy danych MySQL. Pomimo znacznego ograniczenia w najnowszych wersjach Zen Cart-a liczby generowanych zapytań SQL, w przypadku większości serwerów współdzielonych których administratorzy ograniczają dozwoloną liczbę zapytań z uwagi na obawę ich przeciążenia, przy znacznych ilościach produktów w sklepie ustawione limity mogą okazać się niewystarczające. Najbardziej rozsądnym rozwiązaniem takiego problemu jest zmiana serwera na taki który nie posiada limitu zapytań do bazy, choć informacje o limitach danego serwera są najczęściej skrzętnie ukrywane przez zdecydowaną większość firm hostingowych i o rzeczywistych ograniczeniach funkcjonalności serwera dowiadujemy się dopiero w momencie wystąpienia problemów w działaniu sklepu.

 

Co więc zrobić gdy nagle zamiast strony sklepu zobaczymy jedynie komunikat o treści: 1226 User 'db_zencart' has exceeded the 'max_questions' resource (current value 5000) ? Komunikat o podobnej treści informuje o tym że dozwolona liczba zapytań SQL do bazy została przekroczona, w konsekwencji czego połączenie z bazą nie będzie realizowane przez okres czasu ustawiony w limitach przez administratora serwera.

 

Po pierwsze należy zapoznać się z treścią artykułu na temat optymalizacji i przyspieszenia działania sklepu, zastosowanie opisanych w nim metod pozwoli na znaczne ograniczenie ilości zapytań SQL generowanych przez sklep. W większości przypadków problem powinien zostać rozwiązany, przynajmniej doraźnie. Jeśli jednak liczba generowanych zapytań jest nadal zbyt duża w stosunku do ustawionych na serwerze limitów, nie pozostaje nic innego jak zastosowanie bardziej radykalnego rozwiązania pozwalającego na dalsze ograniczenie liczby generowanych zapytań SQL, w tym przypadku jednak "okupionego" rezygnacją ze statystyk przeglądanych produktów w sklepie.

 

Otwieramy w edytorze plik: /includes/classes/observers/class.products_viewed_counter.php - odnajdujemy fragment widoczny poniżej:

if (defined('LEGACY_PRODUCTS_VIEWED_COUNTER') && LEGACY_PRODUCTS_VIEWED_COUNTER == 'on')

i zastępujemy go wpisem o treści:

if (defined('LEGACY_PRODUCTS_VIEWED_COUNTER') && LEGACY_PRODUCTS_VIEWED_COUNTER == 'off')

 

Po wykonaniu tej operacji liczba zapytań SQL zostanie znacznie ograniczona, chociaż nie będą już aktualizowane statystyki oglądanych przez klientów produktów. Nie jest to więc może najlepsze rozwiązanie, szczególnie dla osób lubiących przeglądanie statystyk swojego sklepu, jednak pozwoli na doraźne jego "ożywienie" przynajmniej do czasu przeprowadzki na lepszy serwer.


Zen Cart Template - Nowoczesne szablony sklepu

 

Sklepy internetowe Zen Cart - instalacja - modyfikacja - pozycjonowanie