The detection engine tries to split out separate signatures into
groups so that a packet is only inspected against signatures that can
actually match. As in large rule set this would result in way too many
groups and memory usage similar groups are merged together. The
profile setting controls how aggressive this merging is done. Higher
is better but results in (much) higher memory usage.

The “custom” setting allows modification of the group sizes:

custom-values:toclient-groups:50toserver-groups:50

In general, increasing will improve performance, but will lead to
higher memory usage.

The multi pattern matcher can have it’s context per signature group
(full) or globally (single). Auto selects between single and full
based on the mpm-algo selected. ac and ac-bs use “single”.
All others “full”. Setting this to “full” with AC requires a
lot of memory: 32GB+ for a reasonable rule set.