docs: minor fixes to Performance doc (#7877)

This commit is contained in:
Kevin Krumm 2017-12-08 11:55:21 -06:00 committed by GitHub
parent 46cbc69660
commit b3f09e7587
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,12 +5,12 @@ This document will give you some guidance on optimising your setup.
The suggestions are in a rough order of how much impact they will have.
#### RRDCached
### RRDCached
We absolutely recommend running this, it will save on IO load. [RRDCached](http://docs.librenms.org/Extensions/RRDCached/)
**We absolutely recommend running this, it will save on IO load**. [RRDCached](http://docs.librenms.org/Extensions/RRDCached/)
#### MySQL Optimisation
### MySQL Optimisation
It's advisable after 24 hours of running MySQL that you run [MySQL Tuner](https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl)
which will make suggestions on things you can change specific to your setup.
@ -25,7 +25,7 @@ You can also set this to 2. This will have the possibility that you could lose u
MySQL crashes or your server does but it provides an amazing difference in IO use.
#### Polling modules
### Polling modules
Disable polling (and discovery) modules that you do not need. You can do this globally in `config.php` like:
@ -37,7 +37,7 @@ $config['poller_modules']['ospf'] = 0;
You can disable modules globally then re-enable the module per device or the opposite way. For a list of modules please see
[Poller modules](http://docs.librenms.org/Support/Poller%20Support/)
#### SNMP Max Repeaters
### SNMP Max Repeaters
We have support for SNMP Max repeaters which can be handy on devices where we poll a lot of ports or bgp sessions for instance and
where snmpwalk or snmpbulkwalk is used. This needs to be enabled on a per device basis under edit device -> snmp -> Max repeaters.
@ -51,7 +51,7 @@ but replace <REPEATERS> with varying numbers from 10 upto around 50. You will al
> NOTE: Do not go blindly setting this value as you can impact polling negatively.
#### SNMP Max OIDs
### SNMP Max OIDs
For sensors polling we now do bulk snmp gets to speed things up. By default this is ten but you can overwrite this per device under
edit device -> snmp -> Max OIDs.
@ -60,31 +60,28 @@ You can also set this globally with the config option `$config['snmp']['max_oid'
> NOTE: It is advisable to monitor sensor polling when you change this to ensure you don't set the value too high.
#### Optimise poller-wrapper
### Optimise poller-wrapper
The default 16 threads that `poller-wrapper.py` runs as isn't necessarily the optimal number. A general rule of thumb is
2 threads per core but we suggest that you play around with lowering / increasing the number until you get the optimal value.
This can be changed by going to the cron job for librenms. Usually in /etc/cron.d/librenms and changing the "16"
**Note** KEEP in MIND that this doesn't always help, it depends on your system and CPU. So be careful.
This can be changed by going to the cron job for librenms. Usually in `/etc/cron.d/librenms` and changing the "16"
```
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
```
KEEP in MIND that this doesn't always help, it depends on your system and CPU. So be careful.
#### Recursive DNS
### Recursive DNS
If your install uses hostnames for devices and you have quite a lot then it's advisable to setup a local recursive dns instance on the
LibreNMS server. Something like pdns-recursor can be used and then configure `/etc/resolv.conf` to use 127.0.0.1 for queries.
#### Per port polling - experimental
### Per port polling - experimental
By default the polling ports module will walk ifXEntry + some items from ifEntry regardless of the port. So if a port is marked as deleted because you don't want to see them
or it's disabled then we still collect data. For the most part this is fine as the walks are quite quick. However for devices with a lot of ports and good % of those are
either deleted or disabled then this approach isn't optimal. So to counter this you can enable 'selected port polling' per device within the edit device -> misc section or by
globally enabling it (not recommended): `$config['polling']['selected_ports'] = true;`. You can also set it for a specific OS: `$config['os']['ios']['polling']['selected_ports'] = true;`.
globally enabling it (**not recommended**): `$config['polling']['selected_ports'] = true;`. You can also set it for a specific OS: `$config['os']['ios']['polling']['selected_ports'] = true;`.
Running `./scripts/collect-port-polling.php` will poll your devices with both full and selective polling, display a table with the difference and optionally enable or disable selected ports polling for devices which would benefit from a change.
Note that it doesn't continously re-evaluate this, it will only be updated when the script is run. There are a number of options: