[Nagios-devel] Patch - Nagios 3.2 - remove sleep on run_event ==

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] Patch - Nagios 3.2 - remove sleep on run_event ==

Post by Guest »

--0016e6d77f112528f00481c6033a
Content-Type: text/plain; charset=ISO-8859-1

Hi,

5 months back I submitted a simple patch that removed the sleep code
from the main loop of Nagios for non-runnable events:

http://markmail.org/message/sdjpfmmcpvo ... te:results

This is a re-release of that patch wrapped in conditional code that
will cause Nagios to only skip the sleep if
use_large_installation_tweaks is set to 1.

We continue to use it and it makes a notable performance difference
for larger configurations running on a Nagios poller.

- Max

--- base/events.c.orig 2010-03-14 13:10:27.000000000 -0400
+++ base/events.c 2010-03-14 13:14:29.000000000 -0400
@@ -85,6 +85,8 @@

extern int time_change_threshold;

+extern int use_large_installation_tweaks;
+
timed_event *event_list_low=NULL;
timed_event *event_list_low_tail=NULL;
timed_event *event_list_high=NULL;
@@ -1143,19 +1145,22 @@
/* wait a while so we don't hog the CPU... */
else{

- log_debug_info(DEBUGL_EVENTS,2,"Did not execute scheduled event.
Idling for a bit...\n");
+ /* Skipping this additional sleep time helps performance for
large installations by noticeably reducing latency */
+ if(use_large_installation_tweaks==FALSE){
+ log_debug_info(DEBUGL_EVENTS,2,"Did not execute scheduled event.
Idling for a bit...\n");

#ifdef USE_NANOSLEEP
- delay.tv_sec=(time_t)sleep_time;
- delay.tv_nsec=(long)((sleep_time-(double)delay.tv_sec)*1000000000);
- nanosleep(&delay,NULL);
+ delay.tv_sec=(time_t)sleep_time;
+ delay.tv_nsec=(long)((sleep_time-(double)delay.tv_sec)*1000000000);
+ nanosleep(&delay,NULL);
#else
- delay.tv_sec=(time_t)sleep_time;
- if(delay.tv_sec==0L)
- delay.tv_sec=1;
- delay.tv_nsec=0L;
- sleep((unsigned int)delay.tv_sec);
+ delay.tv_sec=(time_t)sleep_time;
+ if(delay.tv_sec==0L)
+ delay.tv_sec=1;
+ delay.tv_nsec=0L;
+ sleep((unsigned int)delay.tv_sec);
#endif
+ }
}
}

--0016e6d77f112528f00481c6033a
Content-Type: application/octet-stream; name="events.c.patch"
Content-Disposition: attachment; filename="events.c.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6s455140

LS0tIGJhc2UvZXZlbnRzLmMub3JpZwkyMDEwLTAzLTE0IDEzOjEwOjI3LjAwMDAwMDAwMCAtMDQw
MAorKysgYmFzZS9ldmVudHMuYwkyMDEwLTAzLTE0IDEzOjE0OjI5LjAwMDAwMDAwMCAtMDQwMApA
QCAtODUsNiArODUsOCBAQAogCiBleHRlcm4gaW50ICAgICAgdGltZV9jaGFuZ2VfdGhyZXNob2xk
OwogCitleHRlcm4gaW50ICAgICAgdXNlX2xhcmdlX2luc3RhbGxhdGlvbl90d2Vha3M7CisKIHRp
bWVkX2V2ZW50ICpldmVudF9saXN0X2xvdz1OVUxMOwogdGltZWRfZXZlbnQgKmV2ZW50X2xpc3Rf
bG93X3RhaWw9TlVMTDsKIHRpbWVkX2V2ZW50ICpldmVudF9saXN0X2hpZ2g9TlVMTDsKQEAgLTEx
NDMsMTkgKzExNDUsMjIgQEAKIAkJCS8qIHdhaXQgYSB3aGlsZSBzbyB3ZSBkb24ndCBob2cgdGhl
IENQVS4uLiAqLwogCQkJZWxzZXsKIAotCQkJCWxvZ19kZWJ1Z19pbmZvKERFQlVHTF9FVkVOVFMs
MiwiRGlkIG5vdCBleGVjdXRlIHNjaGVkdWxlZCBldmVudC4gIElkbGluZyBmb3IgYSBiaXQuLi5c
biIpOworCQkJCS8qIFNraXBwaW5nIHRoaXMgYWRkaXRpb25hbCBzbGVlcCB0aW1lIGhlbHBzIHBl
cmZvcm1hbmNlIGZvciBsYXJnZSBpbnN0YWxsYXRpb25zIGJ5IG5vdGljZWFibHkgcmVkdWNpbmcg
bGF0ZW5jeSAqLworCQkJCWlmKHVzZV9sYXJnZV9pbnN0YWxsYXRpb25fdHdlYWtzPT1GQUxTRSl7
CisJCQkJCWxvZ19kZWJ1Z19pbmZvKERFQlVHTF9FVkVOVFMsMiwiRGlkIG5vdCBleGVjdXRlIHNj
aGVkdWxlZCBldmVudC4gIElkbGluZyBmb3IgYSBiaXQuLi5cbiIpOwogCiAjaWZkZWYgVVNFX05B
Tk9TTEVFUAotCQkJCWRlbGF5LnR2X3NlYz0odGltZV90KXNsZWVwX3RpbWU7Ci0JCQkJZGVsYXku
dHZfbnNlYz0obG9uZykoKHNsZWVwX3RpbWUtKGRvdWJsZSlkZWxheS50dl9zZWMpKjEwMDAwMDAw
MDApOwotCQkJCW5hbm9zbGVlcCgmZGVsYXksTlVMTCk7CisJCQkJCWRlbGF5LnR2X3NlYz0odGlt
ZV90KXNsZWVwX3RpbWU7CisJCQkJCWRlbGF5LnR2X25zZWM9KGxvbmcpKChzbGVlcF90aW1lLShk
b3VibGUpZGVsYXkudHZfc2VjKSoxMDAwMDAwMDAwKTsKKwkJCQkJbmFub3NsZWVwKCZkZWxheSxO
VUxMKTsKICNlbHNlCi0JCQkJZGVsYXkudHZfc2VjPSh0aW1lX3Qpc2xlZXBfdGltZTsKLQkJCQlp
ZihkZWxheS50dl9zZWM9PTBMKQotCQkJCQlkZWxheS50dl9zZWM9MTsKLQkJCQlkZWxheS50dl9u
c2VjPTBMOwotCQkJCXNsZWVwKCh1bnNpZ25lZCBpbnQpZGVsYXkudHZfc2VjKTsKKwkJCQkJZGVs
YXkudHZfc2VjPSh0aW1lX3Qpc2xlZXBfdGltZTsKKwkJCQkJaWYoZGVsYXkudHZfc2VjPT0wTCkK
KwkJCQkJCWRlbGF5LnR2X3NlYz0xOworCQkJCQlkZWxheS50dl9uc2VjPTBMOworCQkJCQlzbGVl
cCgodW5zaWduZWQgaW50KWRlbGF5LnR2X3NlYyk7CiAjZW

...[email truncated]...


This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked