Windows: Multi-threading S-TAP for increased throughput

S-TAP® multi-threading can be used in certain workloads to increase the throughput of data in the S-TAP. It works by preserving multiple threads from the point of traffic interception through to the point at which traffic is sent to the collector.

If the S-TAP is dropping a lot of traffic, or if there is evidence that intercepting the traffic is impacting the database performance, then you might consider enabling multiple S-TAP threads. An increased number of S-TAP threads means that the S-TAP increases its throughput to the collectors. But it also means that S-TAP might use more CPU and more memory. Multi-threading does not rectify a slow or busy network.

There are no definitive rules, you first modify the configuration, then fine-tune the results. The S-TAP has a maximum of 8 connections to each of its collectors.

When one or more Guardium® systems can not be reached, a failover machanism redirects the traffic from one Guardium system to another.

Limitations

  • Multi-threading is supported only for the TCP/IP and Named Pipes protocols. Multi-threading is supported on any platform but only for those protocols.
  • Policies have to be the same on all Guardium system because the policies dictate what happens to a system's traffic. If the policies are different, there's no guarantee which policy is in effect on a given session.
  • Multi-threading S-TAP requires V11.3 Protocol 8. It is not available in V11.3 Protocol 7. To enable Protocol 8, in the TAP section of the guard_tap.ini, set the parameter V8_PROTOCOL=1.

Configuration Guidelines

The parameter TCP_CHANNELS in the TAP section of the guard_tap.ini file determines the number of channels to each collector. It affects all collectors defined in the guard_tap.ini file.

Implementing multi-threading or increasing the number of threads

Set or increase the TCP_CHANNELS parameter in the corresponding TAP section.

Example: One collector, five threads

[TAP]
...
TCP_CHANNELS=5
[SQLGUARD_1]
SQLGUARD_IP=n.n.n.n
PRIMARY=1
5 channels to 1 collector

Example: Two collectors, five threads

[TAP]
...
TCP_CHANNELS=5
[SQLGUARD_1]
SQLGUARD_IP=n.n.n.n
PRIMARY=1
[SQLGUARD_2]
SQLGUARD_IP=n.n.n.n
PRIMARY=2
5 channels to 2 collectors