Nachdem OpenNMS zwei Jahre gelaufen ist wurde es zuletzt immer langsamer. Klar, neue Nodes, Services etc. erhöhen die Last. Also Zeit für eine Optimierung. Die in meinem Fall wichtigsten Punkte:
- Postgres Konfiguration
- eigene RRD Partition (noatime,nodiratime)
- Events aufräumen
Generell ist die IO Performance der Bereich worauf es bei OpenNMS am meisten ankommt. Nebenbei bemerkt läuft OpenNMS hier in einer Virtuellen Maschine. Zwar wird generell davon abgeraten OpenNMS in einer VM laufen zu lassen, aber das bezieht sich hauptsächlich auf die meist geringere IO Performance. Da hier in diesem Fall KVM mit virtio (auf lokalem Storage) im Einsatz ist und nicht an einem NAS/SAN hängt ist ist die Warnung denke ich zu vernachlässigen ;).
Bzgl. der Postgres Performance habe ich im wesentlichen die Config von hier übernommen.
Wichtige Links:
http://www.opennms.org/wiki/Performance_tuning
http://www.opennms.org/wiki/RRD_performance_fundamentals
http://www.opennms.org/wiki/Event_Configuration_How-To#The_Database
Vorher/Nachher:
PS. das Nachlassen der Last hat natürlich nichts mit dem Wochenende zu tun…