Jump to content
  • 0

Niezwykle wolne ładowanie strony z produktem z kombinacją


kasy

Question

PS: 1.7.5.1
PHP: 7.2
Serwer: dedykowany
Link do sklepu: http://sukienki-komunijne.com

--

Dzień dobry wszystkim,

zacznę od tego, że jeden ze sklepów mam postawiony (niestety) na frameworku od LeoTheme. Dzieją się tam różne cyrki. Od strony używania sklepu najpoważniejszy problem to ładowanie się stron z produktami z kombinacjami (w przypadku prostych produktów sklep działa szybko i płynnie).

Dla przykładu:

http://sukienki-komunijne.com/torebki/15-torebka-t2.html

(produkt prosty, czas ładowania wg pingdom: 1.47 s

http://sukienki-komunijne.com/sukienki/39-94958-sukienka-komunijna-z-hostia-sa37.html#/65-klatka_piersiowa-59_cm/102-dlugosc_sukienki-100_cm/137-talia-50_cm

(produkt z kombinacją cech, czas ładowania wg pingdom: 9.56 s)

Podobnie sprawa ma się z kategoriami.

Na stronie kategorii, na której znajdują się produkty proste sklep ładuje się szybko -> np. http://sukienki-komunijne.com/14-dodatki. Na stronie kategorii, na której znajduje się choć jeden produkt z kombinacjami witryna muli okrutnie -> np. http://sukienki-komunijne.com/17-sukienki

Generalnie to jedyne analogie, które zauważyłem. W konsoli nie widzę żadnych błędów wskazujących problem.

OutOfMemoryException

Niekiedy (na zapleczu lub na stronie - tylko na stronach produktów z kombinacjami, lub na zapleczu przy ich edycji) potrafi wywalić błędy jak poniżej:

" (1/1) OutOfMemoryException
Error: Allowed memory size of 838860800 bytes exhausted (tried to allocate 20480 bytes)
in EventDispatcher.php line 125"


Co oznacza (jeśli dobrze rozumiem), że moje 800M na proces PHP jest niewystarczające! Zwiększyłem limit do 1GB na proces PHP, ale chyba każdy się zgodzi, że tak to działać nie powinno.

Mam dedykowany serwer, który pewnie wytrzyma takie obciążenia przy jakimś tam ruchu, no ale nie o to chodzi w sklepie postawionym na 1.7.5.1 i PHP 7.2?

Co zrobiłem

Napisałem wiele dni temu do LeoTheme, niestety ich 3 odpowiedzi były takie same "włącz kompresję na witrynie oraz cache" (co jest włączone).

Jako, że od nich pomocy nie uzyskam, to może ktoś z forumowiczów ma jakiś pomysł?

Co mogę zrobić?

Rozważam już migrację sklepu na nową instancję i budowę sklepu na czystym szablonie, chociaż nie ukrywam, że jest to ostateczność, bo zabierze to mnóstwo czasu, a budżetu na to nie mamy.

 

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
7 minutes ago, Piotr K. said:

Presta nie jest odpowiednim oprogramowaniem do obsługi tysięcy kombinacji produktu. 

Od dawna obejściem tego problemu jest moduł Attribute Wizard Pro.

Dziękuję Tobie za odpowiedź. Attribute Wizar Pro kosztuje 300USD, więc wykracza poza budżet. Istnieje jakaś alternatywa?

13 minutes ago, Piotr K. said:

Inna sprawa to HTTP2, pozbycie się odwołań do nieistniejących plików, problematycznych modułów itp.

Możesz rozwinąć to HTTP2? Wg https://tools.keycdn.com/http2-test mój serwer wspiera HTTP2.

Problematyczne moduły to jak rozumiem wszystkie moduły od LeoTheme? Ma to sens na pewno, chociaż w takim razie jak wytłumaczyć to, że na prostych produktach sklep chodzi szybko?

Zdecydowanie najbardziej trafiającą do mnie sugestią jest ta o tysiącach kombinacji produktu.

Link to comment
Share on other sites

  • 0

Wcześniej nie miałeś przekierowania na SSL więc nie było HTTP2.

Aby precyzyjnie określić problematyczne moduły trzeba odpalić profilowanie w prestashop - będziesz miał dane co się długo ładuje.

Na szybko policzyłem, że w przykładowym produkcie sklep generuje kilkanaście tys. kombinacji - wolne moduły to przy tym pikuś.

Prestashop "jakoś" działa jak jest do 1000 kombinacji w produkcie (przy czym "jakoś" nie znaczy szybko).

Nie znam alternatywy do AWP, 300$ jednorazowo to nie jest dużo, zwróci się w oszczędnościach na serwerze po kilku mies.

  • Thanks 1
Link to comment
Share on other sites

  • 0

Dziękuję. Rozwiałeś wiele z moich wątpliwości. Wykonam jeszcze jeden test, tak dla ostatecznego rozeznania. Wprowadzę identyczny produkt na czystej Preście, z takimi samymi kombinacjami.

Generalnie w przypadku tego sklepu nie zmienia się ani cena, ani stany magazynowe, więc w praktyce wystarczyłby zwykły <select> z <option value="abc"> bez żadnej ingerencji w zmienne związane z tymi kombinacjami. Nie muszą istnieć żadne zależności, bo i tak jest to dostępne na zamówienie i chodzi jedynie o wskazanie jaki rozmiar wybiera Klient.

Jeszcze raz dziękuję uprzejmie za pomoc Piotr.

Link to comment
Share on other sites

  • 0

Modułu Miłosza nie znam ale wg opisu służy do edytowania kombinacji.

@musicmaster stworzył genialny moduł do edycji wielu elementów, ale Ty potrzebujesz moduł do zmiany działania kombinacji a nie ich edycji.

Jakimś obejściem dla Ciebie (niezbyt eleganckim ale darmowym) może być wykorzystanie dostosowania zamiast kombinacji i dodanie pola (pół) na wpisanie rozmiarów.

Edited by Piotr K. (see edit history)
  • Thanks 1
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...