Performance Optimization Guide: Difference between revisions

Line 38: Line 38:
Allegro recommends to test with HT enabled and 2 or 4 threads for I/O. If you disable the load on the analyzers ( see [[#High analyzer load]] ), you can also test with 4 I/O Threads without HT for maximum performance.
Allegro recommends to test with HT enabled and 2 or 4 threads for I/O. If you disable the load on the analyzers ( see [[#High analyzer load]] ), you can also test with 4 I/O Threads without HT for maximum performance.


=== Analyzer queue ===
=== Analyzer queues ===


The Allegro has a packet queue between I/O threads and the analyzer threads.  Please note that the increasing counters at the initial startup of the Allegro can be normal under high load scenarios for a few seconds. You can check at the '''Interface stats''' per interface all I/O threads could push all packets to the analyzer queues or not. The counter is '''Not processed due to overload'''.
The Allegro has a packet queue between I/O threads and the analyzer threads.  Please note that the increasing counters at the initial startup of the Allegro can be normal under high load scenarios for a few seconds. You can check at the '''Interface stats''' per interface all I/O threads could push all packets to the analyzer queues or not. The counter is '''Not processed due to overload'''.
Line 48: Line 48:
There are 3 scenarios where the an queue overload can happen.
There are 3 scenarios where the an queue overload can happen.


==== Low analyzer load and drop ====
==== Overload at low analyzer load ====


This happens if the analyzers of the Allegro are in a powersafe mode and a very high and large burst of one connection arrives at the Allegro. This issue has happened at customer installations with 40G Links, an average saturation less than 5GBit/s and connection bursts above 10GBit/s. This can lead to minor packet drops as the wakeup of the analyzers is not fast enough. The solution is to use the [[#Sink Mode]] and to activate the '''Analyzer queue overcommit''' at '''Settings''' → '''Global settings''' → '''Expert settings'''. This mode allows to buffer network bursts. This mode is not available for the bridge mode.
This happens if the analyzers of the Allegro are in a powersafe mode and a very high and large burst of one connection arrives at the Allegro. This issue has happened at customer installations with 40G Links, an average saturation less than 5GBit/s and connection bursts above 10GBit/s. This can lead to minor packet drops as the wakeup of the analyzers is not fast enough. The solution is to use the [[#Sink Mode]] and to activate the '''Analyzer queue overcommit''' at '''Settings''' → '''Global settings''' → '''Expert settings'''. This mode allows to buffer network bursts. This mode is not available for the bridge mode.
Line 54: Line 54:
[[File:Queue overcommit.png|600px]]
[[File:Queue overcommit.png|600px]]


==== High analyzer load ====
==== Overload and high analyzer load ====
 
The Allegro has reached its processing limit for a traffic when the load of one or multiple analyzers reaches 100 %.


There are a few options for reducing the analyzer load but it always comes with the penalty of not processing all data. You can '''reduce''' the statistic level or add a '''NIC filter'''.
There are a few options for reducing the analyzer load but it always comes with the penalty of not processing all data. You can '''reduce''' the statistic level or add a '''NIC filter'''.
Line 65: Line 67:


The NIC filter can be used to reduce the amount of monitored traffic. It excludes traffic from the analyzers for the cost of not-seeing all traffic of the link. See the [[Filter|interface filter]] for more details.
The NIC filter can be used to reduce the amount of monitored traffic. It excludes traffic from the analyzers for the cost of not-seeing all traffic of the link. See the [[Filter|interface filter]] for more details.
If this is not applicable, you need to upgrade the Allegro to a higher class with more performance ( Allegro 1000 to 3000 or 3000 to 5000 ).


==== Not-balanced analyzer load ====
==== Not-balanced analyzer load ====


By default, the Allegro load balances the traffic between the analyzers based on the IP addresses of the client and server IP. This provides a very good balancing in most situations. The load distribution could be not balanced if there are many connections and load between 2 IP addresses. An example are 2 SIP trunks with many RTP connections. This can be improved by using the flow load balancing mode at '''Settings''' -> '''Global Settings''' → '''Expert Settings'''.
By default, the Allegro load balances the traffic between the analyzers based on the IP addresses of the client and server IP. This provides a very good balancing in most situations. The load distribution could be not balanced if there are many connections and load between 2 IP addresses. An example are 2 SIP trunks with many RTP connections. The statistics will show a part of the analyzers with a constant high load and others with a significant lower load.
 
The load balancing behavior of the Allegro can be changed to flow load balancing mode at '''Settings''' -> '''Global Settings''' → '''Expert Settings'''.


[[File:Flow load balancing.png|600px]]
[[File:Flow load balancing.png|600px]]
404

edits