Here are some ideas: 1. What could we implement in the strategy so its not continually open()/close() the jrb files? a) On solaris 10, I can have 65535 file descriptors open. b) How much memory does jrobin require from the jvm for each open jrb file? c) If we can't keep them all open, can we pick a strategy to keep some # of them open all the time?
2. Are there other strategies we could use for consolidating data into fewer jrb files? a) ex: network devices with a fixed number of interfaces on a blade. Instead of storing them as $NODE/$INTF/$GROUP.jrb could we restructure the storage to put the data into fewer files? Could we have $NODE/netif/$BLADE/$GROUP.jrb and then map the 3. Implement an add/remove datasource feature where a jrb file would grow/shrink based on the operation? So we could then place all data with the same RRA setups into fewer files? a) Replace ds.properties with a ds.xml with entries like below, and place more data inside fewer files. Also store the RRA definitions to make it easier to add/remove datasources with the same configurations. Include limiting number of datasources per file? <datasource id="1" name="ifHCInOctets" group="mib2-X-interfaces" file="ds1.jrb"> <datasource id="2" name="ifHCOutOctets" group="mib2-X-interfaces" file="ds1.jrb"> <datasource id="3" name="ifInDiscards" group="mib2-interfaces" file="ds1.jrb"> <datasource id="4" name="ifInErrors" group="mib2-interfaces" file="ds1.jrb"> <datasource id="5" name="ifInNUcastpkts" group="mib2-interfaces" file="ds1.jrb"> <datasource id="6" name="ifInOctets" group="mib2-interfaces" file="ds1.jrb"> <datasource id="7" name="ifInUcastpkts" group="mib2-interfaces" file="ds1.jrb"> <datasource id="8" name="ifOutDiscards" group="mib2-interfaces" file="ds1.jrb"> <datasource id="9" name="ifOutErrors" group="mib2-interfaces" file="ds1.jrb"> <datasource id="10" name="ifOutNUcastPkts" group="mib2-interfaces" file="ds1.jrb"> <datasource id="11" name="ifOutOctets" group="mib2-interfaces" file="ds1.jrb"> <datasource id="12" name="ifOutUcastPkts" group="mib2-interfaces" file="ds1.jrb"> <datasource id="13" name="locIfInPktsSec" group="cisco-router-interface" file="ds1.jrb"> <datasource id="14" name="locIfInQueueDrops" group="cisco-router-interface" file="ds1.jrb"> <datasource id="15" name="locIfOutPktsSec" group="cisco-router-interface" file="ds1.jrb"> <datasource id="16" name="locIfOutQueueDrops" group="cisco-router-interface" file="ds1.jrb"> 4. On the JRobin front: 1. Reformat the file layout so you're not having to seek through the whole file to get a grasp of how the data is laid out. 2. Place the bytes that get updated the most together. (ArcState.accumValue, ArcState.nansteps, Robin.pointer, Datasource[i].nanSeconds, Datasource[i].accumValue, Header. lastUpdateTime) -----Original Message----- From: Michael Seibold [mailto:michael.seib...@barmer-gek.de] Sent: Thursday, June 09, 2011 6:05 AM To: OpenNMS Code Development and Bugs Subject: [opennms-devel] Antw: Re: jrobin file format Hi Ronald, as I'm also always seeking for improvements in this area I am very interested in optimization of data collection. ... > With org.jrobin.core.RrdBackendFactory=MNIO, totalOperationsPending varied between 30,000 and 45,000. CPU load average was around 8, 21-30% utilization. As I understood MNIO basically buffers I/O requests to avoid seeking. As you have everything in memory there I see no reason why MNIO should speed up the write process. > I’m a little dismayed that OpenNMS can’t get its queued rrd operations down to 0 when its basically got no disk IO traffic to handle. Well, maybe the queuing writes only when a complete "block" is filled with data, This would explain this behaviour. As long as the block isn't full it won't be written, even if there is no ohter i/o traffic. > I think you might be able to fix some of this with an improved file format, but I think for long term scalability what’s needed is to have a RrdStrategy that opens fewer larger files, maybe 1 per node?. But after looking at the code for OpenNMS and JRobin, I don’t think that’s an easy task since too much smarts about the file layouts are handled by the datacollection classes. I still hope that soon the SSD disks will be cheap AND performant enough (number of rewrites...) to handle this without any problems. Unfortunally I have no possibility to test this at the moment. - Michael Ihr starker Gesundheitspartner – die BARMER GEK. Auch 2011 gilt: kein Zusatzbeitrag! www.barmer-gek.de Diese Nachricht der BARMER GEK kann vertrauliche firmeninterne Informationen enthalten. Sofern Sie nicht der beabsichtigte Empfänger sind, bitten wir Sie, den Absender zu informieren und die Nachricht sowie deren Anhänge zu löschen. Unzulässige Veröffentlichung, Verwendung, Verbreitung, Weiterleitung und das Kopieren dieser Mail und ihrer verknüpften Anhänge sind nicht gestattet. ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-devel mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-devel This e-mail message is being sent solely for use by the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by phone or reply by e-mail, delete the original message and destroy all copies. Thank you. ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-devel mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-devel