I am aware that large partitions are a problem (See “Why are my disks reporting an incorrect size?”) with the “hrStorageTable” SNMP MIB, however adding “realStorageUnits” to my nf does not resolve the issue. The problem is that LibreNMS does not pick up the /mnt/user share correctly during it’s SNMP discovery based around HOST-RESOURCES-MIB or UCD-SNMP-MIB (Fallback disk discovery method). Example output df -hįilesystem Size Used Avail Use% Mounted onĬgroup_root 2.0G 0 2.0G 0% /sys/fs/cgroup I use a linux-based software raid solution called Unraid, which presents a large SMB SHFS mount, as well as individual drives. Devices using a Net-SNMP-based stack or Cisco IOS will often support high max-rep values, but using even moderate values like 30 will result in problems with some platforms.I’m a big fan of LibreNMS, and recently I’ve been looking into what it will take to get support for monitoring large partitions (12tb>). The default used by the Net-SNMP commandline utilities is 10.Ĭompatibility with larger than default max-rep values depends upon the device's SNMP stack. Speed improvements are greater the higher the RTT between the Observium server and the polled device. This specifies the maximum number of iterations over the repeating variables in each operation, potentially vastly increasing GETBULK speed. SNMP allows you to set the max-repetitions field in the GETBULK PDUs. You could up the number of parallel pollers (if congestion is not the issue) or upgrade your uplink so more can fit through the pipe to remedy this somewhat (until we run into "speed of light in a fiber" issues). If your uplink is congested, or latency to your devices is high, less devices can be polled in the same time frame. It has to wait for each reply to come back (per poller), before the poller can continue. Observium fires off a lot of SNMP queries to your devices. When a lot of queries are done this could somewhat influence Observium's performance (however, moving MySQL to another machine than the one with all the RRD I/O could still prove to be a valuable enhancement). Note that running your MySQL server on another machine increases the latency per query. It is advised to put the database on a separate disk (separate physical storage medium, not another LV on the same disk/RAID) for this reason. This slows down the web interface as well. When all the I/O for the RRDs is clobbering your disk, your MySQL database will likely become slow too, due to disk congestion. See the separate Persistent RAM disk RRD storage page to find out how to set up a RAM disk with sync to the disks so you don't lose your data when your machine crashes/reboots. Performance data for the poller can be seen on the "Polling Information" page at /pollerlog/ on your Observium installation. Ideally the entire poller-wrapper process should take as close to 300 second as possible to ensure the lowest average load. If you try to run too many poller processes on storage without enough I/O, you'll simply cause disk thrashing and make the web interface slow. */5 * * * * root /opt/observium/poller-wrapper.py > /dev/null 2>&1ĭo note that increasing pollers will only increase performance until your MySQL database becomes the bottleneck, or more likely, when all the RRD writes to disk start to slow down the disk I/O. On Ubuntu/Debian-based systems this will be in /etc/php7.0/mods-available/opcache.ini, /etc/php/7.0/mods-available/opcache.ini or /etc/php5/mods-available/opcache.ini and on RHEL-based systems this would be in /etc/php.d/opcache.ini: This can also be used as a second level-cache in general and should increase performance if the PHP process gets restarted or it runs out of memory. PHP7 also includes Zend Opcache cache by default.įor web user interface (WebUI) the in-memory Opcache enabled by default, but for cli scripts we need to enable the file-based opcache. Starting with PHP 5.5 the Zend Opcache is integrated and shipped with PHP. It will automatically detect if the code has changed and re-compile. PHP 8 provides further performance improvements over PHP 7, but the language is actively evolving in PHP 8 and incompatibilities may be introduced as the development of the 8.x line develops.Īn opcode cacher compiles PHP code to opcode, which means it won't have to be re-interpreted every time you load a page or run a script. The image below gives an indication of the benefits. We recommend that all users migrate to PHP 7.įor large installations switching to PHP 7 will deliver an major speed boost in the UI. PHP 7 provides numerous performance benefits over PHP 5.x and in many cases can be over twice as fast. Migrating to a system with a different architecture
0 Comments
Leave a Reply. |