Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
witam!
Mam pewien problem, podstawowa konfiguracja LAMP.
Posiadam niewielki sklep i od czasu do czasu strona ładuje się ponad 20 sekund.
Htop pokazuje 100% zuzycie procesora przez proces mysql.
Prawdopodobnie jest to kwestia optymalizacji zapytań generowanych przez aplikacji do wczytywania danych na stronę.
Sprawdzając logi wykryłem kilka zapytań, które pokazuje taką o to informacje
# Query_time: 13.299233 Lock_time: 0.000133 Rows_sent: 594 Rows_examined: 6283809 # Query_time: 13.507242 Lock_time: 0.000190 Rows_sent: 594 Rows_examined: 6283809
Czy dobre to rozumiem? Czas jak był potrzebny na wykonanie to AŻ(!) 13 sekund, przesłanych zostało 594 wierszy, a sprawdzonych w bazie ~6283809 tak?
oraz
# Query_time: 13.201916 Lock_time: 0.000014 Rows_sent: 15042 Rows_examined: 15042
Tutaj zabójcza jest liczba przesłanych wierszy, jest ich aż [b]15042[/b]!
Czy to może być jeden z powodów tak zamulającego procesu mysql?
Gdzie konkretnie szukać przydatnych informacji? Póki co zbadalem cat /var/log/mysql/mysql-slow.log i wlasnie to odkrylem.
Za wszelkie porady sto-krotne dzieki!
Ostatnio edytowany przez Raptoor2 (2018-08-21 14:45:41)
Offline
Jakiś kiepsko zaprojektowany ten sklep chyba, najnowsze Prestashop czy Magentoo takich problemów zazwyczaj nie mają.
Sam piszesz ten sklep? Czy to może jakaś znana na świecie aplikacja sklepu?
Pozdro
Offline
Presta shop, a możesz mi potiwerdzić lub zanegować czy dobrze zrozumialem logi?
Offline
Która wersja Prestashopa, ile tam masz produktów i zamówień liczbowo?
Offline
najnowsza
jesteś w stanie odpowiedzieć mi czy dobrze zoruzmialem logi w peirwszym poście?
Offline
To by pewnie trzeba zajrzeć do tego serwera.
Coś tam pewnie masz pochrzanione w tej Preście albo na serwerze.
I najnowsza to nie jest odpowiedź, bo Presta-1.6.1 i Presta-1.7 mają teraz najnowsze wersje, ale techniczne to są dwa różne sklepy.
Presta 1.7 podobnie jak np Magentoo przez php-composera ciągnie pierdylion zależności php prosto z netu, Presta-1.6 nie ma takich wymagań.
Z resztą "podstawowa konfiuguracja LAMP" to też dosyć idiotyczna definicja,
która prawie nic nie mówi o dokładnej konfiguracji systemu.
Poza tym na jakim dokładnie sprzęcie i systemie masz tą "podstawową konfiugurację LAMP"?
Pytam, bo sklep tej wielkości (mam na myśli samą wielkość skryptu Prestashop)
to nie Wordpress, na każdym sprzęcie na pewno nie ruszy.
To też jest dziwne:
[b]Rows_examined: 6283809[/b]
Skąd się wzięło ponad 6 mln rekordów w bazie w jakiejkolwiek tabeli?
Masz może 6 mln produktów czy 6 mln klientów?
Ostatnio edytowany przez Jacekalex (2018-08-23 14:58:56)
Offline
Nie, nie mam aż tyle niczego.
Generalnie jeżeli chodzi o koniguracje to jest to custom build z Direct admina.
Czytałem w internecie że konfiguracje z Direct Admina nie są zbyt dobre i potem powstają tego typu sytuację.
Offline
Po co Ci DA?
Postaw czysty system bez DA i na nim skonfiguruj Mariadb, PHP-PFM i Nignxa czy Apacha.
Ostatnio stawiałem taki system i Prestashop 1.7 śmigał na nim bez problemu.
Podobnie jak Presta 1.6 i Magento 2.2.
Przy czym na nowe sklepy używające Composera, jak Presta1.7 musisz mieć najlepiej serwer dedykowany albo co najmniej mocnego VPSa (4 rdzenie i min 4-8GB RAM).
Na serwerku za 10-15 zł to można Wordpressa trzymać, ale nic cieższego bym na czymś takim nie trzymał.
Pozdro
Offline
DA potrzebne do zarządzania kotami pocztowymi itd
Jak masz może jakiś inny ciekawy panel to mozesz sie podzielic zeby mozna bylo zarządzac serwerem przez przeglądarke (dl wygody)
Offline
DA to chyba najgorsze co Cię może spotkać - dla użytkownika wspaniałe i proste, dla admina wymagające dobrej znajomości systemu na którym to instalujesz, plus bardzo (konkretniej: [b]bardzo[/b]) dobrej znajomości wszystkich używanych programów.
Jeśli używasz DA do konfiguracji kont pocztowych - jak sobie poradziłeś z babolem sprzed dwóch miesięcy? Mam nadzieję że wiesz z którym...
Offline
DA potrzebne do zarządzania kotami pocztowymi itd[/quote]
Do zarządzania pocztami kontami email, to się odpala Postfixa, Dovecota i Spamassasina ze wsparciem dla MySql/Postgresql, potem do dodawania i modyfikowania kont pocztowych jest [b]Postfixadmin[/b] albo nawet Phpmyadmin czy Phppgadmin (w czystej bazie też się to da robić), a userze swoimi skrzynkami mogą się bawić przez np w webmailu Roundcube, przez wtyczki sieverules, spamsassina (sauserprefs) i podobne.
DA do poczty, to 5 razy wiecej problemów, niż ten "łatwy" panel jest warty.Ostatnio edytowany przez Jacekalex (2018-08-30 19:43:18)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Hej, czy ktoś jest w stanie odpowiedzieć na moje pytanie, bo poki co temat zjechal na inny :)
Offline
Błędnie skonstruowane zapytanie (generuje iloczyn kartezjański).
Włącz pełne logowanie (na chwilę, bo Ci logi cały dysk zajmą) i poszukaj, które to genialne zapytanie się tak zachowuje.
Offline
Dziękuje bardzo! i to jest odpowiedź :)
czy jeeli bylby to jakis zapetlony atak to logi tez mi to w jakis sposob pokaza?
Offline
A masz mysqla otwartego na cały świat? Poza tym jaki atak, logi apacza nic na ten temat nie mówią?
Offline
[quote=ethanak]A masz mysqla otwartego na cały świat? Poza tym jaki atak, logi apacza nic na ten temat nie mówią?[/quote]
Logi Apacha mówią, że ja jestem za głupi na DA ;).
Co do Autora, to dokładniejsza analiza logów może być chyba troszkę problematyczna.
Przynajmniej tyle wynika z logów DA. xD
Ostatnio edytowany przez Jacekalex (2018-10-08 20:07:56)
Offline
Akurat logi Apacza w DA są całkiem niegłupio zorganizowane, tylko trzeba się do tej (przyznam, że nietypowej) organizacji przyzwyczaić.
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00118 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.141.47.163' WHERE u.id=1 |
0.00072 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.47.163', 1732468833) |
0.00093 | SELECT * FROM punbb_online WHERE logged<1732468533 |
0.00087 | SELECT topic_id FROM punbb_posts WHERE id=321406 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=30595 ORDER BY posted |
0.00074 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30595 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00244 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30595 ORDER BY p.id LIMIT 0,25 |
0.00100 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30595 |
Total query time: 0.00814 s |