Hello everyone.<br><br>I am using  Nagios 3.0.6 with ndoutils 1.4b7 and MySQL 5.0 on a Linux machine CentOS 5.2 (2.6.18) with 2GB ram and x64 Intel Xeon 2.50GHz processor in the laboratory environment.<br><br>I chose to use the ndoutils to maintain historical information aboutchecks on the database (tables nagios_servicechecks and nagios_hostcheks) and Nagvis to use the graphical representation of my network.<br>
<br>The functional tests were good, but the project got to the point where I had to do a benchmark with a number of 7,000 services, simulating my production environment.<br><br>Loading broker ndomod but without running the ndo2db daemon I have a good performance of service checks with almost 95% of services being out in the window of 5 min and a check with low latency. Important emphasize that all services are active (not passive) with check_interval of 5 minutes.<br>
<br>When I run the ndo2db daemon, where it initialize a unix socket and starts operations in the database, I get a considerable loss of check performance of the service with only 9% of services being handled in window of 5 min, high latency of checks and CPU iowait counter between 90% and 100%. Services to be processed by the Nagios daemon in 5 min are processed with delay of up to 1 hour.<br>
<br>How MySQL is on the same machine, it did the tuning (buffer, threads, etc.) and applied additionals table indexes.<br>As test I changed the nagios database schema for the "blackhole". Thus the bank accepts connections and operations (select, insert, delete, ...) but not recording the data on disk. The iowait continued high with bad performance. I do not suspect most of the database.<br>
<br>I noticed that the daemon ndo2db uses only 1 connection to the database to various operations per second, each operation is awaiting the end of the previous run. What I find particularly bad.<br><br>Question: someone uses the facilities of ndoutils with the database in large nagios installations (> 1500 hosts> 7000 services) without performance problems to give me help ?<br>
<br>Nagios settings are below.<br><br>I followed some recommendations for the tuning of the document nagios  <a href="http://nagios.sourceforge.net/docs/3_0/tuning.html">http://nagios.sourceforge.net/docs/3_0/tuning.html</a><br>
<br><br>### Nagios Config ###<br>
 log_file=/var/log/nagios/nagios.log<br>
 object_cache_file=/var/nagios/objects.cache<br>
 precached_object_file=/var/nagios/objects.precache<br>
 resource_file=/etc/nagios/resource.cfg<br>
 status_file=/var/nagios/status/status.dat<br>
 status_update_interval=10<br>
 nagios_user=nagios<br>
 nagios_group=nagios<br>
 check_external_commands=1<br>
 command_check_interval=15s<br>
 command_file=/var/nagios/rw/nagios.cmd<br>
 external_command_buffer_slots=4096<br>
 lock_file=/var/run/nagios.pid<br>
 temp_file=/var/nagios/nagios.tmp<br>
 temp_path=/tmp<br>
 event_broker_options=-1<br>
 broker_module=/usr/libexec/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg<br>
 log_rotation_method=d<br>
 log_archive_path=/var/log/nagios/archives<br>
 use_syslog=1<br>
 log_notifications=1<br>
 log_service_retries=1<br>
 log_host_retries=1<br>
 log_event_handlers=1<br>
 log_initial_states=0<br>
 log_external_commands=1<br>
 log_passive_checks=1<br>
 service_inter_check_delay_method=s<br>
 max_service_check_spread=30<br>
 service_interleave_factor=s<br>
 host_inter_check_delay_method=s<br>
 max_host_check_spread=30<br>
 max_concurrent_checks=0<br>
 check_result_reaper_frequency=5<br>
 max_check_result_reaper_time=5<br>
 check_result_path=/var/nagios/spool/checkresults<br>
 max_check_result_file_age=3600<br>
 cached_host_check_horizon=30<br>
 cached_service_check_horizon=60<br>
 enable_predictive_host_dependency_checks=1<br>
 enable_predictive_service_dependency_checks=1<br>
 soft_state_dependencies=0<br>
 auto_reschedule_checks=0<br>
 auto_rescheduling_interval=30<br>
 auto_rescheduling_window=180<br>
 sleep_time=0.25<br>
 service_check_timeout=60<br>
 host_check_timeout=30<br>
 event_handler_timeout=30<br>
 notification_timeout=30<br>
 ocsp_timeout=5<br>
 perfdata_timeout=5<br>
 retain_state_information=1<br>
 state_retention_file=/var/nagios/retention.dat<br>
 retention_update_interval=60<br>
 use_retained_program_state=1<br>
 use_retained_scheduling_info=1<br>
 retained_host_attribute_mask=0<br>
 retained_service_attribute_mask=0<br>
 retained_process_host_attribute_mask=0<br>
 retained_process_service_attribute_mask=0<br>
 retained_contact_host_attribute_mask=0<br>
 retained_contact_service_attribute_mask=0<br>
 interval_length=60<br>
 use_aggressive_host_checking=0<br>
 execute_service_checks=1<br>
 accept_passive_service_checks=1<br>
 execute_host_checks=1<br>
 accept_passive_host_checks=1<br>
 enable_notifications=1<br>
 enable_event_handlers=1<br>
 process_performance_data=0<br>
 obsess_over_services=0<br>
 obsess_over_hosts=0<br>
 translate_passive_host_checks=0<br>
 passive_host_checks_are_soft=0<br>
 check_for_orphaned_services=1<br>
 check_for_orphaned_hosts=1<br>
 check_service_freshness=1<br>
 service_freshness_check_interval=60<br>
 check_host_freshness=0<br>
 host_freshness_check_interval=60<br>
 additional_freshness_latency=15<br>
 enable_flap_detection=1<br>
 low_service_flap_threshold=5.0<br>
 high_service_flap_threshold=20.0<br>
 low_host_flap_threshold=5.0<br>
 high_host_flap_threshold=20.0<br>
 date_format=us<br>
 p1_file=/usr/bin/p1.pl<br>
 enable_embedded_perl=1<br>
 use_embedded_perl_implicitly=1<br>
 illegal_object_name_chars=`~!$%^&*|'"<>?,()=<br>
 illegal_macro_output_chars=`~$&|'"<><br>
 use_regexp_matching=0<br>
 use_true_regexp_matching=0<br>
 admin_email=nagios@localhost<br>
 admin_pager=pagenagios@localhost<br>
 daemon_dumps_core=0<br>
 use_large_installation_tweaks=1<br>
 enable_environment_macros=0<br>
 debug_level=0<br>
 debug_verbosity=1<br>
 debug_file=/var/log/nagios/nagios.debug<br>
 max_debug_file_size=1000000<br>
 cfg_file=/etc/nagiosql/commands.cfg<br>
 cfg_file=/etc/nagiosql/contactgroups.cfg<br>
 cfg_file=/etc/nagiosql/contacts.cfg<br>
 cfg_file=/etc/nagiosql/contacttemplates.cfg<br>
 cfg_file=/etc/nagiosql/hostdependencies.cfg<br>
 cfg_file=/etc/nagiosql/hostescalations.cfg<br>
 cfg_file=/etc/nagiosql/hostextinfo.cfg<br>
 cfg_file=/etc/nagiosql/hostgroups.cfg<br>
 cfg_dir=/etc/nagiosql/hosts<br>
 cfg_file=/etc/nagiosql/hosttemplates.cfg<br>
 cfg_file=/etc/nagiosql/servicedependencies.cfg<br>
 cfg_file=/etc/nagiosql/serviceescalations.cfg<br>
 cfg_file=/etc/nagiosql/serviceextinfo.cfg<br>
 cfg_file=/etc/nagiosql/servicegroups.cfg<br>
 cfg_dir=/etc/nagiosql/services<br>
 cfg_file=/etc/nagiosql/servicetemplates.cfg<br>
 cfg_file=/etc/nagiosql/timeperiods.cfg

                                                <br>