Performance Optimization Guide: Difference between revisions

From Allegro Network Multimeter Manual
Jump to navigation Jump to search
Access restrictions were established for this page. If you see this message, you have no access to this page.
No edit summary
No edit summary
Line 3: Line 3:
== About ==
== About ==


This guide is about performance optimization of the Allegro for specific use cases.
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 Setup ==
== High Level Allegro System Layout ==


The Allegro has various different units that can be optimized. These units are:
The Allegro has various different units that can be optimized. These units are:
Line 12: Line 12:
* Analyzer Threads: responsible for decoding and most of the DB operations
* Analyzer Threads: responsible for decoding and most of the DB operations
* DB Threads: optional threads offloading memory intensive database operations, see [[DB mode]]
* 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 ports or extension cards, the '''RX error''' and especially the '''hardware miss''' counter be not zero. Please note that the counters can increase at the initial startup of the Allegro and the optimization
 
=== Analyzer Queue ===
 
 
 
== DB Queue ===
 


Please note that there are queues that buffer messages between all hardware instances ( NICs, Storage ) and Threads which can be optimized. By default, the Allegro runs in a configuration that fits for the majority of users.


== Packet Drops in Queue ==
== Packet Drops in Queue ==

Revision as of 11:43, 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 ports or extension cards, the RX error and especially the hardware miss counter be not zero. Please note that the counters can increase at the initial startup of the Allegro and the optimization

Analyzer Queue

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.


Generic Optimizations

Packet Processing: Bridge vs. 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

More I/O Threads

Specific Optimizations