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.
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:
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
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].
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:
ALTER TABLE nagios.nagios_downtimehistory ADD INDEX (scheduled_start_time); ALTER TABLE nagios.nagios_downtimehistory ADD INDEX (scheduled_end_time);
Die Ladezeit der Map kann so wesentlich verbessert werden.