Idea for alternative MRTG scheduler
Steve Shipway <[email protected]> Thu, 16 Dec 2010 22:36:38 +0000
| Newsgroups | gmane.network.mrtg.devel |
|---|---|
| Message-ID | <28E447343A85354483BCF7C3E9D5EAA5149F23C9@uxcn10-1.UoA.auckland.ac.nz> |
--===============1821489679== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_28E447343A85354483BCF7C3E9D5EAA5149F23C9uxcn101UoAauckl_" --_000_28E447343A85354483BCF7C3E9D5EAA5149F23C9uxcn101UoAauckl_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Here's an idea. Currently, MRTG will process all Targets until there are none left, using u= p all the available threads, and then sleep until the next polling cycle. This can be problematic if you configure more targets, or there is an outag= e, and suddenly you do not have enough threads to process everything in the= 5min window. Also, it results in a large burst of activity at the start o= f the window followed by silence. So, how about this - MRTG already knows how many targets there are, and the= interval. It calculates x=3D(interval/#targets)x0.9 (the 0.9 is to allow = time for the final checks to complete) and then kicks off a new Target to p= rocess every x seconds, starting a new thread if required (possibly up to a= specified upper limit). This would possibly end up with each thread proce= ssing a single target and then exiting, with the master starting a new thre= ad per Target. I think this may be how the Nagios check scheduler works? It would certain= ly solve the problems of (a) uneven CPU usage and (b) running out of window= time when you add more targets but not more threads. The drawback is that= , of course, you need to have sufficient CPU/memory to handle the potential= ly large number of threads that could result. Since Tobi is currently in a coding mood, I thought it best to get the sugg= estions in quick :) Steve ________________________________ Steve Shipway ITS Unix Services Design Lead University of Auckland, New Zealand Floor 1, 58 Symonds Street, Auckland Phone: +64 (0)9 3737599 ext 86487 DDI: +64 (0)9 924 6487 Mobile: +64 (0)21 753 189 Email: [email protected]<mailto:[email protected]> P Please consider the environment before printing this e-mail --_000_28E447343A85354483BCF7C3E9D5EAA5149F23C9uxcn101UoAauckl_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content= =3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros= oft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#def= ault#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style><![endif]--><style><!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0;} @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4;} @font-face {font-family:Webdings; panose-1:5 3 1 2 1 5 9 6 7 3;} @font-face {font-family:"Arial Narrow"; panose-1:2 11 6 6 2 2 2 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} span.EmailStyle17 {mso-style-type:personal-compose; font-family:"Calibri","sans-serif"; color:windowtext;} .MsoChpDefault {mso-style-type:export-only;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--></head><body lang=3DEN-NZ link=3Dblue vli= nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>Here’s an = idea.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMs= oNormal>Currently, MRTG will process all Targets until there are none left,= using up all the available threads, and then sleep until the next polling = cycle.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DM= soNormal>This can be problematic if you configure more targets, or there is= an outage, and suddenly you do not have enough threads to process everythi= ng in the 5min window. Also, it results in a large burst of activity = at the start of the window followed by silence.<o:p></o:p></p><p class=3DMs= oNormal><o:p> </o:p></p><p class=3DMsoNormal>So, how about this –= ; MRTG already knows how many targets there are, and the interval. It= calculates x=3D(interval/#targets)x0.9 (the 0.9 is to allow time for the f= inal checks to complete) and then kicks off a new Target to process every x= seconds, starting a new thread if required (possibly up to a specified upp= er limit). This would possibly end up with each thread processing a s= ingle target and then exiting, with the master starting a new thread per Ta= rget.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMs= oNormal>I think this may be how the Nagios check scheduler works? It = would certainly solve the problems of (a) uneven CPU usage and (b) running = out of window time when you add more targets but not more threads. Th= e drawback is that, of course, you need to have sufficient CPU/memory to ha= ndle the potentially large number of threads that could result. <o:p></o:p>= </p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>Since To= bi is currently in a coding mood, I thought it best to get the suggestions = in quick <span style=3D'font-family:Wingdings'>J</span><o:p></o:p></p><p cl= ass=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>Steve<o:p></o:p><= /p><p class=3DMsoNormal><o:p> </o:p></p><div class=3DMsoNormal align= =3Dcenter style=3D'text-align:center'><span lang=3DEN-US><hr size=3D2 width= =3D"100%" align=3Dcenter></span></div><p class=3DMsoNormal><b>Steve Shipway= <o:p></o:p></b></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt'>IT= S Unix Services Design Lead<o:p></o:p></span></p><p class=3DMsoNormal><span= style=3D'font-size:10.0pt'>University of Auckland, New Zealand<o:p></o:p><= /span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt'>Floor 1, 58= Symonds Street, Auckland<o:p></o:p></span></p><p class=3DMsoNormal><i><spa= n style=3D'font-size:10.0pt;color:#595959'>Phone: +64 (0)9 3737599 ext 8648= 7<o:p></o:p></span></i></p><p class=3DMsoNormal><i><span style=3D'font-size= :10.0pt;color:#595959'>DDI: +64 (0)9 924 6487<o:p></o:p></span></i></p><p c= lass=3DMsoNormal><i><span style=3D'font-size:10.0pt;color:#595959'>Mobile: = +64 (0)21 753 189<o:p></o:p></span></i></p><p class=3DMsoNormal><i><span st= yle=3D'font-size:10.0pt;color:#595959'>Email: <a href=3D"mailto:s.shipway@a= uckland.ac.nz"><span style=3D'color:#595959'>[email protected]</span= ></a><o:p></o:p></span></i></p><p class=3DMsoNormal><span lang=3DEN-GB styl= e=3D'font-size:18.0pt;font-family:Webdings;color:green'>P</span><span lang= =3DEN-GB style=3D'color:blue'> </span><span lang=3DEN-GB style=3D'font-size= :10.0pt;font-family:"Arial Narrow","sans-serif";color:green'>Please conside= r the environment before printing this e-mail</span><span lang=3DEN-GB styl= e=3D'color:blue'> </span><span lang=3DEN-GB style=3D'font-size:7.5pt;font-f= amily:"Verdana","sans-serif";color:navy'><o:p></o:p></span></p><p class=3DM= soNormal><i><span style=3D'font-size:10.0pt'><o:p> </o:p></span></i></= p><p class=3DMsoNormal><o:p> </o:p></p></div></body></html>= --_000_28E447343A85354483BCF7C3E9D5EAA5149F23C9uxcn101UoAauckl_-- --===============1821489679== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ mrtg-developers mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/mrtg-developers --===============1821489679==--