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
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