Wie oft sollten Apache und MySQL neu gestartet werden?

9

Wie oft sollten Apache und MySQL neu gestartet werden (insbesondere mit 150.000 Treffern pro Woche), und was wäre der tatsächliche Vorteil eines Neustarts zu jeder bestimmten Zeit?

Peter Mortensen
quelle

Antworten:

19

Wenn Ihr System ordnungsgemäß optimiert ist und Ihre Anwendung keine Probleme wie Speicherlecks aufweist, sollten Sie diese immer nur neu starten müssen, um Patches anzuwenden.

rodjek
quelle
9

Apache und MySQL sollten für sich genommen frei von Speicherlecks sein. Die meisten Datenbankserver laufen besser, je länger sie aktiv sind. Module, die wie PHP in Apache kompiliert werden, weisen jedoch häufig Speicherlecks auf.

Das Apache mpm-Modul recycelt Prozesse automatisch nach 10.000 Anforderungen. Sie können das MaxRequestsPerChildin etwas anderes ändern , aber 10.000 ist eine vernünftige Standardeinstellung.

Brianegge
quelle
Was bedeutet das: Die meisten Datenbankserver laufen besser, je länger sie aktiv sind ? Was bedeutet besser ?
Tshepang
5

Apache muss nicht regelmäßig neu gestartet werden. noch sollte MySQL.

Apache, der im Prefork-Modus ausgeführt wird, kann seine untergeordneten Prozesse mithilfe von MaxRequestsPerChild recyceln. Dies ist eine gute Sache, da es sich gegen langsame Speicherlecks usw. schützt.

MySQL sollte nicht regelmäßig neu gestartet werden, da ein Neustart zu einem Dienstausfall führt. Beim Neustart von MySQL muss auf den Start der Engines gewartet werden. Außerdem wird der Cache geleert, wodurch die Leistung beeinträchtigt wird, bis sie sich erwärmt. Wir scheinen festzustellen, dass es aufgrund der Fragmentierung des Adressraums von Zeit zu Zeit neu gestartet werden muss [1] , aber dies sollte auf einem 64-Bit-System nicht so häufig vorkommen, auf das neue Installationen immer angewendet werden sollten.

[1] zB alle 9 Monate auf einem ausgelasteten Server mit durchschnittlich> 100 Abfragen pro Sekunde

MarkR
quelle
3

Sie sollten MySQL aus Leistungsgründen nach Möglichkeit nicht neu starten. MySQL verwendet viel Speicher, um Datenseiten und Indizes zwischenzuspeichern. Wenn Sie MySQL neu starten, werden alle zwischengespeicherten Seiten freigegeben und Sie benötigen einige Zeit, um die Caches aufzuwärmen . Auf stark ausgelasteten Sites kann ein Neustart der Datenbank zu Leistungsproblemen führen.

Ihre Site ist nicht stark ausgelastet (150.000 Zugriffe pro Woche ergeben nur 1 / 4s), sodass ein Neustart von MySQL keine großen Probleme verursachen sollte.

Sumar
quelle
2

Um zu verstehen, wann ein System oder ein Dienst neu gestartet werden muss, müssen Sie zunächst verstehen, warum. Speicherlecks sind der häufigste Grund, aber es kann auch andere geben, z. B. schlecht geschriebene Software (allzu häufig!), Die keine ordnungsgemäße interne Verwaltung durchführt, z. B. das Schließen von Dateihandles, wenn sie nicht mehr benötigt werden. Obwohl dies nicht mit einem Speicherverlust identisch ist, sind die Symptome dieselben. Sowohl Apache als auch MySQL sind bekanntermaßen sehr stabil (es sei denn, Sie führen eine Alpha- oder Beta-Version aus) und können jahrelang ohne Probleme ausgeführt werden. Normalerweise muss das Betriebssystem neu gestartet werden, um Patches anzuwenden, lange bevor eine der beiden Anwendungen dies erfordert.

John Gardeniers
quelle