Running a TIBCO Patterns Server on UNIX Variants

File Descriptor Limits

To reduce connection overhead, the TIBCO Patterns server persists socket connections. It can use up to 1024, or one-third of the file descriptors available to the process, whichever is lower, to persist the incoming socket connections. Additionally, it uses the same number of file descriptors to persist the outgoing socket connections to other TIBCO Patterns servers.

When the Data-Durability feature is enabled, the server uses several dozen file descriptors per table and a strict minimum number of descriptors are required to start the server. The server does not start without at least 2048 descriptors.

Beyond these limits, the server uses transient connections. File descriptor limits should be set (using the ulimit command) to at least 1024, with 64K (65536) or higher being preferred.

Update the ulimit to use the Patterns server with the data-durability feature.

Using an Alternate Memory Allocator

The TIBCO Patterns server supports using alternate memory allocators; tcmalloc™ (4.4.5 or later) and jemalloc (3.6.0 or later). Depending on your application workload, an alternate allocator might reduce the TIBCO Patterns memory footprint by up to 60%. Alternate memory allocators can also affect command latency and throughput, either positively or negatively, depending on the application workload. These effects are usually, but not always, insignificant.

Note: You must always test an alternate memory allocator for its effect on performance, before using it in a production environment. The jemalloc and tcmalloc can be installed on Redhat™ 7 or Redhat™ 8.

Depending on your Linux variant, perform the following installation steps:

jemalloc

1. Subscribe to the Extra Packages for Enterprise Linux (EPEL) repository.

2. Run sudo yum install jemalloc.

The library should appear as usr/lib64/libjemalloc.so.1.

tcmalloc

1. Subscribe to the Extra Packages for Enterprise Linux (EPEL) repository.

2. Run sudo yum install gperftools.

The library should appear as usr/lib64/libtcmalloc.so.

Usage with TIBCO Patterns Patterns

Perform the following steps to use an alternate memory allocator with TIBCO Patterns:

1. Locate the library of the alternate memory allocator.

Alternate Memory Allocator Library
jemalloc usr/lib64/libjemalloc.so.1
tcmalloc usr/lib64/libtcmalloc.so

2. Identify the command line used to launch the TIBCO Patterns server.

3. Modify the command line used to launch the TIBCO Patterns server: prepend the LD_PRELOAD environment variable.

Examples

Original command line:

TIB_tps_server your-options

With the jemalloc allocator:

LD_PRELOAD=/usr/lib64/libjemalloc.so.1  TIB_tps_server your-options…

With the tcmalloc allocator:

LD_PRELOAD=/usr/lib64/libtcmalloc.so  TIB_tps_server your-options