Performance Optimization Guide: Difference between revisions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
=== NIC Hardware Queue === | === NIC Hardware Queue === | ||
This first queue is between the Network card and processing unit. Whenever the I/O | This first queue is between the Network card and processing unit. Whenever the I/O threads are too slow to consume all packets from the built-in or extension ports, the '''hardware miss''' counter of the interface statistics will increase over time. | ||
The load of the I/O threads can be checked at the '''Info''' → '''System Info''' → '''Load'''. | |||
If this counter increases regularly, you can try the following settings: | |||
* use sink mode instead of bridge mode, see below [[#Sink Mode]] | |||
* increase the number of I/O threads: [[#More I/O Threads]] | |||
=== Analyzer Queue === | === Analyzer Queue === | ||
The Allegro has a packet queue between I/O threads and the analyzer threads. This queue | |||
* | |||
Please note that the increasing counters at the initial startup of the Allegro can be normal under high load scenarios for a few seconds. | |||
== DB Queue === | === DB Queue === | ||
Line 34: | Line 45: | ||
== | == Optimizations == | ||
=== | === Sink Mode === | ||
For configuration, please see: [[Global_settings#Packet_processing_mode]] | For configuration, please see: [[Global_settings#Packet_processing_mode]] |
Revision as of 12:57, 5 May 2020
About
This guide is about performance optimization of the Allegro for specific use cases. By default, the Allegro runs in a configuration that fits for the majority of users and you do not need to change any parameter of the configuration.
High Level Allegro System Layout
The Allegro has various different units that can be optimized. These units are:
- I/O Threads: responsible for all packet I/O operations
- Analyzer Threads: responsible for decoding and most of the DB operations
- DB Threads: optional threads offloading memory intensive database operations, see DB mode
- Disk I/O
Please note that there are queues that buffer messages between all hardware instances ( NICs, Storage ) and Threads which can be optimized. The following queues can be monitored to see where you need to change settings in the Allegro:
NIC Hardware Queue
This first queue is between the Network card and processing unit. Whenever the I/O threads are too slow to consume all packets from the built-in or extension ports, the hardware miss counter of the interface statistics will increase over time.
The load of the I/O threads can be checked at the Info → System Info → Load.
If this counter increases regularly, you can try the following settings:
- use sink mode instead of bridge mode, see below #Sink Mode
- increase the number of I/O threads: #More I/O Threads
Analyzer Queue
The Allegro has a packet queue between I/O threads and the analyzer threads. This queue
Please note that the increasing counters at the initial startup of the Allegro can be normal under high load scenarios for a few seconds.
DB Queue
Packet Drops in Queue
The Allegro Network Multimeter will inform you if a packet loss has been happened. The Allegro has certain hardware and software queues that can drop packet due overload.
Optimizations
Sink Mode
For configuration, please see: Global_settings#Packet_processing_mode
The bridge mode requires approximately 10 % more load on the I/O Threads as this threads have to sent the traffic to the corresponding network interface for forwarding. Allegro recommends to use