Sklep przekracza obci??enie CPU - Prosz? o pomoc.

Miejsce na wszelkie dyskusje odnośnie problemów technicznych i ewentualnych pytań z rozbudowaniem systemu w plikach i skryptach Opencart, a które nie dotyczą instalacji.

Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez staniapl » 18 maja 2013, o 18:13

Witam,

Koledzy proszę o pomoc, otóż jakiś czas temu oddałem do użytku sklep na OC (1.5.1.1), w sklepie ok 150 kategorii i ok 3 tyś produktów. Klient skarży się, że sklep wolno chodzi.

proszę sprawdźcie jak jest to u was - http://www.dystrybucjabhp.pl

Problem dotyczy jednak innej sprawy, codziennie sklep przekracza dopuszczalne obciążenie procesora (czasami jest nawet 500%). Wrzuciłem większość obrazków do sprit-ów, dodałem kompresję gzip = 5 (w panelu admina) i dalej jest to samo analizując logi serwera dostaję np tyle żądań z IP. Dodam, że przeciążenie serwera bazodanowego nie występuje. Statystyki ok 100 unikalnych / dobę.


204 78.31.136.150
211 159.205.116.129
218 83.21.122.106
238 91.145.138.175
294 80.50.128.162
519 66.249.78.49
541 79.185.218.237
613 83.4.169.139
1053 178.154.243.98
1283 173.199.119.155
1332 83.30.121.103
2173 66.249.78.220
2173 66.249.78.220 (to akurat niby IP Google bota) - codziennie.

---
Roboty sieciowe wg. AwStats: (wydaje mi się, że trzeba by ograniczyć te roboty trochę)
http://zapodaj.net/7bdd1a066ae64.jpg.html

Czy coś poradzicie gdzie szukać, być może jakieś boty atakują sklep ?
Proszę o pomoc.
Avatar użytkownika
staniapl
 
Posty: 631
Dołączył(a): 13 lut 2012, o 19:47
Lokalizacja: Zambr?w, Nowe Piekuty

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez schematx.pl » 18 maja 2013, o 19:08

Ok, akurat kompresja gzip nie pomaga a generuje część obciążenia CPU - jest gdzieś w readme systemu linijka która mówi że GZIP świetnie sprawdzi w przypadku kiedy chcemy zaoszczędzić miejsce na serwerze jednak może znacząco spowolnić jego działanie.
Zdjęcia produktów w spritach dobrze zrozumiałem? - Nie rób tego - sprity idealnie nadają się do zakodowania kilku małych obrazków/elementów np. z szablonu sklepu co jak dowodzą statystyki przyspiesza ładowanie się strony bo serwer ma ułatwione zadanie, jednak przy dużych grafikach znacząco już serwer jest obciążany. Sprity mają służyć też przede wszystkim nie-indexowaniu danego elementu przez robota i często takie żądanie zaindexowania jest odrzucane przez serwer, niestety bot indexujący - wiadomo ma za zadanie zaindexować wszystko więc ponawia żądania do skutku stąd też nadmiarowa liczba wywołań danego elementu - zwłaszcza że bot opiera się na kluczach i tagach z konkretnych produktów = im więcej produktów tym więcej powtórzeń...
Kolejną sprawą jest lista robotów indeksujących w ostatniej zakładce ustawień sklepu - tak na prawdę wystarczy że zostawisz na tej liście najpopularniejsze 3-4 roboty; interesują nas najbardziej: GOOGLEBOT, SLURP, MSNBOT,TEOMA, W3C_VALIDATOR reszte możesz z czystym sumieniem usunąć.

66.249.78.220 - robot google indeksujący
83.30.121.103 - ip węzeł TP kraków
173.199.119.155 - robot ahrefs indeksujący linki powracające
178.154.243.98 - robot yandex - rosyjska wyszukiwarka
83.4.169.139 - ip wezeł TP kraków
79.185.218.237 - ip węzeł TP warszawa
66.249.78.49 - robot google
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez schematx.pl » 18 maja 2013, o 21:30

tak jeszcze na spokojnie bo już wróciłem do doma - oczywiście to już poza tym co wcześnie napisałem, możesz się zabrać za optymalizację ;
1. javaskryptów - zastosuj <script async> zamiast <script>
2. pogrupuj nagłówki - style pod stylami, skrypty pod skryptami
3. w nagłówku zoptymalizuj i wymuś parametr pamięci podręcznej; użyj takich funkcji jak: Cache-control: public, określ czas przechowywania za pomocą Expires lub Cache-Control: max-age a także czas modyfikacji za pomocą Last-Modified lub ETag - wykorzystaj jeden z 2 nie łącz ich razem; jak użyjesz Expires to już nie cache-control: max-age.
4. możesz przekonwertować szablony i skrypty do wersji .min

na twojej stronie najdłużej wczytują się:
http://www.dystrybucjabhp.pl/.../jquery ... -1.3.4.css (0,10 sekund)
http://www.dystrybucjabhp.pl/.../jquery-1.6.1.min.js (0,10 sekund)
http://www.dystrybucjabhp.pl/.../jquery.cookie.js (0,11 sekund)
http://www.dystrybucjabhp.pl/.../jquery ... tom.min.js (0,11 sekund)
http://www.dystrybucjabhp.pl/.../jquery ... custom.css (0,12 sekund)
http://www.dystrybucjabhp.pl/.../img_3206192-80x80.jpg (0,11 sekund)

na optymalizacji tych elementów trzeba by się skupić no i oczywiście samego kodu szablonu - ogólnie aby twoją stronę wyświetlić przeglądarka musi pobrać około 1,2MB kodu i to nie wliczając zdjęć produktów - to o wiele za dużo, powinieneś się mieścić przy rozbudowanym szablonie w granicach 50-200KB kodu.
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez staniapl » 18 maja 2013, o 21:37

edit-

dzięki nie widziałem postu.

Schematx - dzięki za zainteresowanie. Jak u Ciebie wygląda czas ładowania, jest ok?

Ok, akurat kompresja gzip nie pomaga a generuje część obciążenia CPU - jest gdzieś w readme systemu linijka która mówi że GZIP świetnie sprawdzi w przypadku kiedy chcemy zaoszczędzić miejsce na serwerze jednak może znacząco spowolnić jego działanie.

Dzięki - wyłączyłem

Do sprit-ów włączyłem obrazki tylko grafiki szablonu, zamiast 12 żądań do serwera zrobiłem jedno.

Kolejną sprawą jest lista robotów indeksujących w ostatniej zakładce ustawień sklepu - tak na prawdę wystarczy że zostawisz na tej liście najpopularniejsze 3-4 roboty; interesują nas najbardziej: GOOGLEBOT, SLURP, MSNBOT,TEOMA, W3C_VALIDATOR reszte możesz z czystym sumieniem usunąć.


a gdzie jest taka opcja bo ja w Ustawieniach nie widzę wyboru robotów.

ew. mógłbyś podrzucić wzorowy robot.txt lub .htaccess żeby zbanować niepożądany ruch, jakieś sugestię co można poprawić?
Avatar użytkownika
staniapl
 
Posty: 631
Dołączył(a): 13 lut 2012, o 19:47
Lokalizacja: Zambr?w, Nowe Piekuty

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez schematx.pl » 18 maja 2013, o 22:19

System -> Ustawienia -> Edytuj -> Serwer : tam masz 3 pole od góry z robotami.

kod mojej strony na oc to 490KB - to i tak trochę dużo ale strona generuje sie w 3 sec i dla powracających użytkowników w 1sec więc bez tragedii, u Ciebie jest to 8,5sec i dla powracających 3,5 więc jakby nie patrzeć ciut za długo.

ja osobiście wywaliłem wszystkie roboty, ale nie podążaj moją ścieżką jeśli chcesz aby Twój sklep był zauważalny
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez schematx.pl » 18 maja 2013, o 22:43

Zauważyłem jeszcze coś ciekawego, zerknij na załącznik - przed załadowaniem się strony a już po przekierowaniu na serwer czas oczekiwania na pierwszy bit informacji wynosi 2,5 sec (nie powinien przekraczać 0.2sec) - jest to czas związany z odpowiedzią serwera na dane żądanie i tu moje pytanie czy na tym serwerze znajdują się jeszcze jakieś inne serwisy generujące spory ruch?

Dodatkowo Twój serwer odpowiada: Server: WisePanel Web Server / Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 / Expires: Thu, 19 Nov 1981 08:52:00 GMT / Pragma: no-cache / Transfer-Encoding: chunked / Connection: Close

serwer powinien utrzymywać połączenie czyli parametr Connection powinien zwracać Keep-alive, dalej Expires u ciebie nie jest odnawiany powinien mieć datę w przód (około 2-4 tygodni w przód od ostatnich odwiedzin) - dziwne.
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Sklep przekracza obciążenie CPU - Proszę o pomoc.

Postprzez staniapl » 18 maja 2013, o 22:50

Niestety, ale ja mam wersję 1.5.1.1 i nie ma tam takiej opcji :(

Ale dzięki za zainteresowanie, generalnie chodzi mi o zbicie użycia CPU (czas ładowania, nie będzie dla mnie problemem). Zastanawiam się co może zabijać tak procesor, Moje podejrzenie pada na "dziwne" pająki z rosji, Niemiec ...etc

Na serwerze mam jeszcze 3 sklepy OC (ok 40 unikalnych na dzien) i kilka Wordpressów z ruchem ok 50 unilalnych / dzien. Zaden serwis nie generuje obciążenia nawet w 30 % - tylko ten sklep - max osiągnięte 720 % - codziennie poprzeczka zostaje podniesiona :(

Fajnie, że można tu forum z kimś pogadać. [piwko]
Avatar użytkownika
staniapl
 
Posty: 631
Dołączył(a): 13 lut 2012, o 19:47
Lokalizacja: Zambr?w, Nowe Piekuty

Następna strona

Powrót do Pomoc techniczna przy Opencart

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron