Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
nagvis_-_performance-tuning [2015/05/31 19:31] (aktuell) admin angelegt |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== NagVis - Performance-Tuning ====== | ||
+ | |||
+ | Enthält eine NagVis-Map viele Hosts und zusätzlich noch Verlinkungen auf weitere Maps kann dies zulasten der Ladezeit gehen. Für jeden Host auch auf den darunter liegenden Maps müssen Statusinformationen aus der Nagios-Datenbank gelesen werden. Je nach Performance des Servers, auf dem sich Webserver und/oder Datenbank befinden, kann dies ab ca. > 600 Hosts zu erheblichen Verschlechterungen führen. | ||
+ | |||
+ | ===== MySQL-Tuning ===== | ||
+ | |||
+ | Dies NagVis-Maps bilden beinahe alle der durch Nagios überwachten Hosts und Services ab. Dies und das Aktualisieren der Datenbank durch NDO führt zu einem erheblichen Traffic auf dem MySQL-Server. Um das Datenaufkommen besser verarbeiten zu können, wurde einige Puffer vergrößert. Dazu wurden folgende Einträge in der Konfigurationsdatei ''/etc/mysql/my.cnf'' eingefügt: | ||
+ | <code> | ||
+ | key_buffer_size = 256M | ||
+ | join_buffer_size = 64M | ||
+ | sort_buffer_size = 64M | ||
+ | read_buffer_size = 2M | ||
+ | read_rnd_buffer_size = 8M | ||
+ | myisam_sort_buffer_size = 64M | ||
+ | max_allowed_packet = 32M | ||
+ | max_heap_table_size = 64M | ||
+ | tmp_table_size = 64M | ||
+ | table_cache = 1024 | ||
+ | </code> | ||
+ | Die Größe der einzelnen Puffer, vor allem der Key-Puffer, wurde unter Berücksichtigung des verfügbaren Arbeitsspeichers durchgeführt. Näheres zu diesen Parametern unter [http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html]. | ||
+ | |||
+ | ===== Datenbank-Tuning ===== | ||
+ | |||
+ | In ''phpmyadmin'' fallen vor allem die Hohen Werten für '''Select_full_join''' und '''Table_locks_waited''' auf. | ||
+ | |||
+ | Um die Zugriffe zu beschleunigen, werden die beiden Attribute mit einem Index versehen: | ||
+ | <code lang="SQL"> | ||
+ | ALTER TABLE nagios.nagios_downtimehistory ADD INDEX (scheduled_start_time); | ||
+ | ALTER TABLE nagios.nagios_downtimehistory ADD INDEX (scheduled_end_time); | ||
+ | </code> | ||
+ | Die Ladezeit der Map kann so wesentlich verbessert werden. | ||