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
Line 14: Line 14:
* Disk I/O
* 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:
Please note that there are queues that buffer messages between all hardware instances ( Interface chips, central processing unit, storage ) and threads which can be tuned. The following queues can be monitored to see where you need to change settings in the Allegro:


=== NIC Hardware Queue ===
=== NIC Hardware Queue ===
Line 20: Line 20:
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.  
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'''.  
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:
If this counter increases regularly, you can try the following settings:
Line 27: Line 27:
* increase the number of I/O threads: [[#More I/O Threads]]
* 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
The Allegro has a packet queue between I/O threads and the analyzer threads. There are 3 scenarios where the an queue overload can happen.


*
==== Low analyzer load and drop ====
 
This happens if the Allegro is in a powersafe mode and a sudden peak of traffic is monitored. The solution is to use the [[#Sink Mode]] and to activate the '''Analyzer queue overcommit''' at '''Settings''' → '''Global settings''' → '''Expert settings'''. This allows to buffer sudden network bursts.
 
[[File:Queue overcommit.png|600px]]
 
==== High analyzer load ====
 
==== not-balanced Analyzer load ====


Please note that the increasing counters at the initial startup of the Allegro can be normal under high load scenarios for a few seconds.  
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 ===


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

Revision as of 13:08, 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 ( Interface chips, central processing unit, storage ) and threads which can be tuned. 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 InfoSystem InfoLoad.

If this counter increases regularly, you can try the following settings:

Analyzer queue

The Allegro has a packet queue between I/O threads and the analyzer threads. There are 3 scenarios where the an queue overload can happen.

Low analyzer load and drop

This happens if the Allegro is in a powersafe mode and a sudden peak of traffic is monitored. The solution is to use the #Sink Mode and to activate the Analyzer queue overcommit at SettingsGlobal settingsExpert settings. This allows to buffer sudden network bursts.

Queue overcommit.png

High analyzer load

not-balanced Analyzer load

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

More I/O Threads

Specific Optimizations