Jump to content

Przeciążenie serwera - duża ilość zapytań do bazy


ebayshop

Recommended Posts

Witam

 

Posiadam preste 1.6.0.9 i od pewnego czasu osiągam limity zapytań do bazy danych na serwerze nazwa.pl

Poblokowałem cały zbędny ruch w htaccess jednak wygląda na to że problem pojawia się przy dodawaniu produktów (godzina 13:00) - dodane z 30 produktów.

 

Tak to wygląda z panelu nazwa.pl

 

post-846504-0-06685300-1439468621_thumb.jpg 

 

Sklep jest w wersji domyślnej (nic nie dłubane w kodach)  i posiada 2200 produktów.

W zakładce "Wydajność" takie ustawienia:

 

post-846504-0-93214000-1439468790_thumb.jpg

 

Casch wyłączony.

 

Czy coś jeszcze mogę zrobić żeby ograniczyć ilość zapytań lub czy są jakieś narzędzia do diagnostyki tego problemu.

Czy da się jakoś sprawdzić co presta tak wysyła do tej bazy i co z niej pobiera? Bo nazwa.pl nie udostępnia takich narzędzi.

Edited by ebayshop (see edit history)
Link to comment
Share on other sites

Nie wydaje mi się to zapytania generowane z pwoodu dodawania produktów. Jeśli masz taką możliwość włąść zapisywanie zapytań mysql gdzieś do pliku a będziesz wiedział konkretnie.

 

- po pierwsze włączyć cache (cache zapisuje własnie najczestsze zapytania do mysql'a i pozniej nie odpytuje znowu serwera tylko te dane gdzieś są już w pliku). Włączenie kompresji CSS/JS, przesunęcie javascriptu na koniec strony - to wszystko powinno być włączone (co prawda nie zmniejszy ilości zapytąń sql'a ale sama strona powinna się szybciej ładować i będzie bliżej jej do standrdów)

- po drugie ustawić rodzaj cache na pliki i jak to możliwe uruchomic/ustawić memcache na serwerze (nazwa.pl chyba nie oferuje)

- po trzecie masz bardzo mało produktów a ile masz uzytkowników ? to oni generuje taki ruch z tymi zapytaniami ? czy może boty ? jeśli boty zablokuj im dostęp do strony przez robots.txt albo po useragencie.

- po czwarte powyłaczaj wszystkie zbędne moduły, na Twoim miejscu odinstalowałbym wszystkie moduły statystyk, a prowadził taką analize jedynie na podstawie Google Analitycs (powinno to znacząco zmniejszyć ilośc zapytań - dużo z nich idzie własnie z informacji o uzytkowniku i na jakich podstronach "przesiaduje")

- po piąte skorzystaj z modułu: dbclean (darmowy)  aby zmniejszyć/oczyścić baze oraz prestaspeed (płatny na codecanyon) aby przyśpieszyć sklep

- po szóste sklep internetowy na prescie z dużą bazą mysql i troche użytkowników powinień być uruchomony na VPS (polecam konfiguracje nginx + php-fpm i mariadb albo percona serwer). Hosting współdzielony to ostateczność dla sklepów.

Edited by robakowski (see edit history)
Link to comment
Share on other sites

Z tym caschem u mnie jest coś nie tak - jak go włączam to sklep strasznie wolno chodzi zarówno sklep jak i panel i sypie mi jakimiś błędami..

Dziś mam 1133 wizyty - wiekszość to zapewne booty - staram się to blokować ..

Dzięki za info posprawdzam wszystko, może coś da rade odciążyć..

Link to comment
Share on other sites

Niestety sprawdziłem to i na na 200% wzrost zapytań pojawia się w chwili wystawiania produktów.

Czy da się to jakoś przeanalizować? Nie mam pojęcia gdzie szukać ...

 

Powystawiam trochę produktów i po godzinie osiągam limit..

Link to comment
Share on other sites

Jak próbuje włączyć casch to po dłuższej chwili pojawia mi się taki błąd:

 

[PrestaShopDatabaseException]

MySQL server has gone away
 

SELECT `name` FROM `ps_hook_alias` WHERE `alias` = 'actionAdminPerformanceControllerSaveAfter' LIMIT 1
at line 635 in file classes/db/Db.php

 

629.             WebserviceRequest::getInstance()->setError(500, '
 '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
630.         }
631.         else if (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))
632.         {
633.             if ($sql)
634.                 throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
635.             throw new PrestaShopDatabaseException($this->getMsgError());
636.         }
637.     }
638.
639.     /**
Link to comment
Share on other sites

jak to odświeżę to casch się załącza ale później przy wystawianiu pojawia się np. taki błąd:

 

Notice w linii 70 w pliku /home/ms/ftp/sklep1/classes/cache/CacheFs.php
[8] unserialize(): Error at offset 249700 of 249783 bytes

Link to comment
Share on other sites

Potrafi też wywalić stronę główną sklepu:

 

Notice: unserialize(): Error at offset 74193 of 75029 bytes in /home/ms/ftp/sklep1/classes/cache/CacheFs.php on line 40

Warning: Cannot modify header information - headers already sent by (output started at /home/ms/ftp/sklep1/classes/cache/CacheFs.php:40) in /home/ms/ftp/sklep1/classes/controller/FrontController.php on line 654

Warning: Cannot modify header information - headers already sent by (output started at /home/ms/ftp/sklep1/classes/cache/CacheFs.php:40) in /home/ms/ftp/sklep1/classes/controller/FrontController.php on line 655

Warning: Cannot modify header information - headers already sent by (output started at /home/ms/ftp/sklep1/classes/cache/CacheFs.php:40) in /home/ms/ftp/sklep1/classes/Tools.php on line 132

Link to comment
Share on other sites

Sprawdz uprawnienia wszystkich folderów (w szczególnośći /cache i  /tools ) nadaj im 777

Spróuj wyczyścić cały cache (zaawansowane > wydajność i na samej gorze po prawej "Wyczyśc pamięć podręczną"

 

Zobacz co masz jak wejdziesz w "Zaawansowane > Informacje konfiguracyjne", czy w liście zmienionych plików nie ma jakiś systemowych ? Czy w polu: "Sprawdź konfigurację" parametry wymagane/opcjonalne coś jest ?

 

Wina leży najprawdopodobniej po stronie hostingodawcy (ograniczenia w ilości plików ? )

Chociaż dla testów proponuje odpalić sklep gdzieś indziej i przetestować czy będze działał (od razu odradzam nazwa.pl, home, az i 1&1 i inne tej wielkości firmy - zazwyczaj mają one duże ograniczenia i kiepski support :) .... zobacz www.linuxpl.com , www.mydevil.net www.zenbox.pl , www.lh.pl , www.hekko.pl - tam prestashop na pewno chodzi szybko i bez problemów :) ).

Edited by robakowski (see edit history)
Link to comment
Share on other sites

Tak, po wyłączeniu casch i zostawieniu pamięci podręcznej sklep pracuje najlepiej.

Dziś konkretnie przez całą godzinę od 13:00 dodawałem produkty - efekt:

 

post-846504-0-82442000-1439555327_thumb.jpg

 

Mogę zmienić na wyższy, nie ma z tym problemu jeśli to faktycznie rozwiąże problem - bo w tych wyższych nie ma limitów godzinowych tylko dobowe.

Tylko ze normalnie wszystko działa i ruch jest znikomy - problem jest tylko przy wystawianiu produktów.

Mam bardzo rozbudowane drzewo kategorii w sklepie - może to przez to..

 

Szkoda że nie ma sposoby podglądnięcia tych zapytań do bazy w celu analizy żeby mieć pewność, że wszystko działa poprawnie. 

Może jakiś moduł (choćby tych kategorii) powoduje jakieś zapętlone zapytania.

Martwi mnie też to, ze nie mogę wejść w ustawienia konfiguracyjne - to stawia pod znakiem zapytania poprawność funkcjonowania mojego sklepu..

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...