Benchmark configuration
The Beeks Analytics for Markets (BAM) configuration is flexible around certain configurable parameters. This section outlines the key configuration decisions that were made.
Where this configuration affects one or more specific performance benchmarks from the Performance Benchmarks table, those benchmarks are identified either in the title of that section, or in bold text within the body text of that section.
Packet Multiplexers (PMUXs)
Packet Multiplexers (PMUX) are consolidated packet filters (a packet filter is a single process that receives a specified stream from hardware filter). PMUX allow for traffic to be split out in numerous ways.
SmartNIC hardware, firmware, and software capture, buffer, filter, and route packets into packet streams. PMUXs then read packets from the streams. Usually there is one PMUX for each packet stream; however multiple PMUXs can share a packet stream for scalability. The packets received at a SmartNIC capture port can contain traffic from a tap, Mirror Port, or Packet Broker, and may contain a blend of packets from multiple applications and servers at multiple points in the network. Typically, VLAN tags are used to provide a means of representing multiple physical parts of a network infrastructure.
A PMUX gets packets from a source (a packet capture card or a file, for example). It hosts probes, which can filter packets of interest and process them, either by capturing to disk or by decoding and then performing further analysis.
The probes are hosted as separate threads within the same PMUX, for performance reasons. The PMUX will load a defined list of probes when it starts but can be configured to reload particular probes while still running.
The main purpose of a PMUX is to ‘contain’ a range of different functions within, for a given stream of packets.
In very high performance systems we implement multiple PMUXs to scale traffic across these.
Running more PMUXs will enable capture of more messages per second; however this usually means you’ll have less memory available for bursty traffic.
The number of PMUXs that were running in parallel for each test is shown in the Concurrent PMUXs figure. With the BAM configuration, there is a 1:N relationship between a PMUX and a visibility point. Each Visibility Point must have at least 1 PMUX dedicated to it, but for high volume visibility points it is possible to divide a single visibility point between multiple PMUXs. The most common way to divide traffic between multiple PMUXs is to configure static filters for each PMUX using Napatech streams. Usually, this configuration is deterministic based on some content of the packet captures (e.g. IP address, a VLAN tag combination), but other strategies are available.
Each PMUX can be assumed to need 8 GB of RAM. It is important when sizing a system with multiple PMUXes that the cumulative RAM requirements of the PMUXes leave sufficient headroom on the appliance for databases, VMX-Analysis if required, and general operating system performance.
The figures provided in this document are based on performance testing that shows that a dedicated capture PMUX can capture up to 18 million packets per second.
The BAM standard configuration (and the recommended configuration for Beeks Analytics Enterprise) is to split capture and stack probes into separate PMUXes.
See the Configuration Guide for VMX-Capture for more details of Napatech stream configuration, and for more details of PMUX, capture probe and stack probe configuration.