# Advanced configuration

> Customize the features of your server.

Use the advanced configuration section of the server administration console to customize server features.

## Request processing

| Settings                           | Description                                                                                                                                                                                                                                                                                                          |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Force client build number**      | Related to the `ForceBuildNumberMatch` parameter in the `server.conf` file. Use this parameter to mandate all clients upgrade to the same build number as the server, or set a minimum build number instead.                                                                                                         |
| **Abort request if socket closes** | Related to the `AbortRequestIfSocketCloses` parameter in the `server.conf` file. When a client closes the connection before the server finishes processing, the server stops the request thread to avoid long-running canceled requests. Enabled by default on Windows, disabled on Linux due to instability issues. |
| **Transaction timeout**            | Related to the `TransactionTimeout` parameter in the server.conf file. This sets the time in seconds before a long running transaction is automatically canceled by the server.                                                                                                                                      |

## Global security settings

| Settings                  | Description                                                                                                                                                                                                                                                                |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **FIPS compliance**       | Related to the `FIPSCompliant` parameter in the server.conf file. Enable this parameter to mandate the use of FIPS compliant algorithms only. This setting requires UVCS clients to enable FIPS in their `client.conf` file - otherwise they can't connect to this server. |
| **Enforce secured paths** | Related to the `SecuredPaths` parameter in the `server.conf` file. Enable this setting to restrict users from accessing file revisions by item ID (with `cm cat`) if they don't have access. Suitable for high-security environments.                                      |

## Worker thread pool

This is the thread pool that attends client requests. Each thread is reused for better performance.

> **Important:**
>
> Be aware of potential issues if you modify the thread pool value. For example, if you allocate more threads than your computer can handle (dependent on the number of cores), you can cause a decrease in performance.

| Settings        | Description                                                                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Min threads** | Related to the `MinWorkerThreads` parameter in the `server.conf` file.                                                                                  |
| **Max threads** | Related to the `MaxWorkerThreads` parameter in the `server.conf` file. By default, the max number of threads matches the number of cores of the server. |

## Buffer pools

Buffer pools reuse pre-allocated buffers to help reduce memory allocations. If you reduce allocations, you can significantly improve performance under heavy load.

| Settings                   | Description                                                                                                                                                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Number of Tree buffers** | Related to the `TreeBufferPoolCount` parameter in the `server.conf` file. Use this parameter to serialize directory trees. Under heavy load, this value should match the number of worker threads to avoid contention.                           |
| **Number of Blob buffers** | Related to the `BlobBufferPoolCount` parameter in the `server.conf` file. Configure this value to read and write file data to the storage. These buffers reduce the need for allocating 4 MB blocks on every data transfer.                      |
| **Tree buffers size**      | Related to the `TreeBufferSizeInMB` parameter in the `server.conf` file. Set this size (in MB) to serialize directory trees. With large trees (over 50k files and directories), if you increase this number, it helps reduce memory allocations. |

## Trigger variables

In the trigger variables section, you can add the custom global variables that triggers use.

For more information on how triggers work and how to define them, refer to [Triggers](../../triggers/overview).
