Server/Hosting Plesk mit hohem Speicherverbrauch

Masetrix

Bekanntes Mitglied
Lizenzinhaber
Registriert
2. Sep. 2018
Beiträge
576
Punkte
103
XF Version
  1. 2.2.15
XF Instanz
Hosting
PHP-Version
8.2.15
MySQL/MariaDB
(MariaDB) 10.6.17
Provider/Hoster
Hetzner
Könnten wir mal wieder zum Thema zurück finden?

Was mit dem Speicherverbrauch des Apachen nichts zu tun hat, muss hier auch nicht rein unbedingt. Wir können ja gern mal ein extra Thema zur Server Sicherheit machen, das ist ja immer interessant und man kann lernen.

Aber gerne :D
Ich habe mein Problem nun soweit eingegrenzt, dass ich es auf Plesk zurückführen kann.
Plesk öffnet immer 2 Datenbankverbindungen. Diese lassen sich auch nicht schließen, auch nicht wenn ich alle Pleskdienste manuell beende oder gar mit z.B. "kill -9 ID" beende. Soweit so schlecht. Zusätzlich "Pingt" etwas alle 5 Minuten auf MySQL, sodass im MySQL Fehlerlog alle 5 Minuten ein Eintrag "
2021-06-02T19:21:00.834204Z 17327 [Note] Got an error writing communication packets
2021-06-02T19:26:02.871512Z 18992 [Note] Got an error writing communication packets
2021-06-02T19:31:04.910894Z 20838 [Note] Got an error writing communication packets" entstand

Nun habe ich in /etc/mysql mal alle überflüssigen mysql.cnf und my.cnf entfernt und die
max_allowed_packet size in den anderen .cnf Dateien von mysql "harmonisiert" indem ich sie alle auf 64 MB gesetzt habe.

Dann habe ich alle Werte des Apachen und phpfpm, wie zu öffnernde Server/Threads, Timeouts etc in der apache.conf, mod_event.conf und den endspreuchenden Stelle der phpconfig je Domain in Plesk angepasst sodass die Höchstwerte mit dem deckten was auch PHP-FPM maximal benötigt. Ferner läuft der PHP-FPM auf der Forendomain nicht mehr auf "static", sondern auf "on demand" .

Nun habe ich zwar mehr permanenten load (zwischen 0.50 und 1.20, während zuvor nur selten mehr als 0.70 und das nur kurzfristig zu verzeichnen war).
Damit kann ich aber leben bis ich Urlaub und damit wieder mehr Zeit fürs Feintuning habe.
Meine 32GB Ram sind zu 90% mit MY-SQL (12GB Bufferpoolsize) und php-fpm belegt.

Seit diesen Maßnahmen sind nun auch die Fehler im MySqllog weg.
Nur eines ist mir noch immer nicht begreiflich.
Wie kann sich Mysqld über die Maxwerte hinwegsetzen und mehr als:
(Anzeige von ./mysqltuner.pl --checkversion)

[--] Physical Memory : 31.4G
[--] Max MySQL memory : 19.1G
[--] Other process memory: 0B
[--] Total buffers: 13.1G global + 68.6M per thread (90 max threads)
[--] P_S Max memory usage: 72B
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 15.9G (50.85% of installed RAM)
[OK] Maximum possible memory usage: 19.1G (60.89% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (0/10M)
[OK] Highest usage of available connections: 47% (43/90)
[OK] Aborted connections: 0.00% (0/496178)
[OK] Query cache is disabled by default due to mutex contention on multiprocessor machines.
[OK] Sorts requiring temporary tables: 0% (3K temp sorts / 2M sorts)
[!!] Joins performed without indexes: 812335
[!!] Temporary tables created on disk: 52% (299K on disk / 568K total)
[OK] Thread cache hit rate: 99% (340 created / 496K connections)
[!!] Table cache hit rate: 6% (2K open / 38K opened)
[OK] table_definition_cache(2500) is upper than number of tables(1311)
[OK] Open file limit used: 0% (548/1M)
[OK] Table locks acquired immediately: 99% (625K immediate / 625K locks)

hinwegsetzen. Soweit scheint alles OK zu sein.
Unter HTOP zeigt mir der Mysqld an, dass er sich virtuell bis zu 31GB Speicher reserviert.

Immerhin läuft jetzt das swap nicht mehr voll, wenn das wöchentliche Vollbackup von Plesk läuft...
 
Zuletzt bearbeitet:
Zurück
Oben