Performance Optimization Guide: Difference between revisions

Line 21: Line 21:
The interface hardware queue is between the network interfaces and the I/O threads of the central processing unit. Whenever the I/O threads are too slow to consume all packets from the built-in or extension network interfaces, the '''hardware miss''' counter of the [[Interface statistics]] will increase over time.  
The interface hardware queue is between the network interfaces and the I/O threads of the central processing unit. Whenever the I/O threads are too slow to consume all packets from the built-in or extension network interfaces, 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'''.


TODO: add overloaded Interface graph.
TODO: add overloaded Interface graph.


If the load is near 100%, packet miss can occur and the following countermeasures can be tried:
If the load is near 100%, packet loss can occur and the following countermeasures can be attempted:


# The bridge mode requires approximately 10% - 30% more load on the I/O threads than the sink mode. The I/O threads have to sent the incoming traffic to the corresponding outgoing network interface for forwarding. If packet forwarding is not necessary (for example when being deployed at a mirror port), switching to '''sink mode''' will improve the performance of the device. For configuration, please see [[Global_settings#Packet_processing_mode|Global settings]].
# The Bridge mode requires approximately 10% - 30% more load on the I/O threads than the Sink mode. The I/O threads have to sent the incoming traffic to the corresponding outgoing network interface for forwarding. If packet forwarding is not necessary (for example when being deployed at a Mirror Port), switching to '''sink mode''' will improve the performance of the device. For configuration, please see [[Global_settings#Packet_processing_mode|Global settings]].
# The number of queues can be adjusted at the cost of analyzer threads. Each queue uses a corresponding CPU thread so more queues means less CPU threads available for other components. This option is available on the Allegro 3000 and above due to the large number of internal CPU cores. Allegro Packets recommends to increase the number of queues only on the Allegro 3000 and above if necessary.
# The number of queues can be adjusted at the cost of analyzer threads. Each queue uses a corresponding CPU thread so more queues means less CPU threads available for other components. This option is available on the Allegro 3000 and above due to the large number of internal CPU cores. Allegro Packets recommends to increase the number of queues only on the Allegro 3000 and above if necessary.
:: This setting can be changed at '''Settings''' -> '''Global Settings''' → '''Expert Settings'''
:: This setting can be changed at '''Settings''' -> '''Global settings''' → '''Expert settings'''
:: [[File:Rx sockets io thread.png|600px]]
:: [[File:Rx sockets io thread.png|600px]]
:: Allegro Packets recommends to test with HT enabled and 2 or 4 queue for I/O. If you see high load on the analyzers, you can also test with 4 queues (I/O Threads) without HT for maximum performance.
:: Allegro Packets recommends to test with HT enabled and 2 or 4 queue for I/O. If you see a high load on the analyzers, you can also test with 4 queues (I/O Threads) without HT for maximum performance.


== Analyzer queues ==
== Analyzer queues ==
inactive
369

edits