jmartins Posted December 12, 2016 Report Share Posted December 12, 2016 Lieber Forum, ich habe im moment ein großes Problem mit dem Webshop, nämlich wenn ich 'top' in linux aufführe, läuft mysqld mit CPU immer über 100% (meistens 200%) und manchmal ist dauerhaft über 700%. In diesen Momente kann man im Shop nichts machen und hat man kein Zugrif zum Backend. Der Shop läuft mit Xt:Commerce 4.2 und cpu ist familie 6 und ich vermute hat 12 cores. wenn ich im MySQL SHOW FULL PROCESSLIST; die meist anfragen sind SELECT pc.code FROM xt_plugin_code pc INNER JOIN xt_plugin_products pp ON pc.plugin_id = pp.plugin_id WHERE pc.hook = 'class.template:getTemplate_assign_default' AND pc.code_status = 1 and pp.plugin_status = 1 order by pc.sortorder Wenn man den query SHOW GLOBAL STATUS aufführt, Threads_running zeigt auch mehr als 100. Handelt es sich um eine DDoS attack? Ich bitte um Eure hilfe. Vielen Dank, Martins Link to comment Share on other sites More sharing options...
mgutt Posted February 22, 2017 Report Share Posted February 22, 2017 Das kann mehrere Gründe haben. Attacke, korrupte Datenbank, korrupter Index, allgemeine IO-Last zu hoch und parallel dazu zu kleiner DB-Cache, DB-Abfrage selbst ist lahm oder aber eine andere Abfrage blockiert diese Abfrage (Flaschenhals-Effekt von MySQL), Festplatte oder Raid hat eine Macke usw Ich würde mir nun eine ruhige Minute suchen und die Abfrage testen. D.h. CPU Last ist gering und dann z.B. über phpmyadmin die Abfrage wiederholen. Natürlich nur SELECT-Abfragen und keine Abfragen, die Änderungen an der DB durchführen wie INSERT/UPDATE/DELETE. Außerdem ergänzt du die Abfrage um die Option SQL_NO_CACHE, also so: SELECT SQL_NO_CACHE pc.code FROM xt_plugin_code pc INNER JOIN xt_plugin_products pp ON pc.plugin_id = pp.plugin_id WHERE pc.hook = 'class.template:getTemplate_assign_default' AND pc.code_status = 1 and pp.plugin_status = 1 order by pc.sortorder Wenn diese Abfrage dann immer schnell ist, dann liegt es schon mal nicht an der Abfrage. Falls langsam, dann prüfen ob Indexe fehlen. Ob nun eine DDoS dafür in Frage kommt, könnte man dagegen über mod_status in Erfahrung bringen:https://httpd.apache.org/docs/2.4/mod/mod_status.html Dann siehst Du alle aktuell offenen HTTP-Verbindungen. Sind hier normal viele IPs verbunden (bedenke, dass die Leute F5 drücken), dann kann es kein DDoS sein. Mit PROCESSLIST siehst du aber auch als root alle Prozesse aller User ja? Nicht dass im Hintergrund ein Backup von der Datenbank z.B. vom Hoster gezogen wird und daher der Stillstand resultiert. Link to comment Share on other sites More sharing options...
jmartins Posted September 8, 2017 Author Report Share Posted September 8, 2017 Hallo mgutt, vielen Dank und sorry, dass ich mich so spät melde. Letztendlich habe ich SphinxSearch installiert und hatte dann keine solche extreme Probleme mehr. Die Ursache für den Last liegt immer noch irgendwo im Datenbank, weil auch Time To First Byte immer noch sehr hoch ist, aber zumindest läuft der Laden. Ich melde mich wieder und bericht den Forum, wenn ich mehr Infos habe. Vielen Dank noch mal. Joao Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.