Overview
The yb-tserver executable is located in thebin directory of your YugabyteDB installation. Each YB-TServer manages tablets (sharded units of storage) and serves both YSQL and YCQL requests.
If you are using YugabyteDB Anywhere, set flags using the Edit Flags feature in the platform UI.
Configuration Categories
| Category | Description |
|---|---|
| General Configuration | Basic server setup, logging, and web interface |
| PostgreSQL Parameters | YSQL-specific configuration parameters |
| Networking | Network interfaces, RPC endpoints, DNS caching |
| Storage & Data Management | Data directories, WAL, sharding, CDC, TTL |
| Performance Tuning | Resource allocation, memory, compaction |
| Security | Encryption, SSL/TLS, authentication |
Syntax
Example
Online Help
To display command-line help:--helpon to display help on specific modules:
General Configuration
Core Flags
Specifies the file to load configuration flags from. Flags must be in the same format as command line flags.
Requires restart after modification.
Shows version and build information, then exits.
Comma-separated addresses of the masters which the tablet server should connect to. The CQL proxy also reads this flag.Default:
127.0.0.1:7100This flag is stable and widely used in production.
Number of master replicas. By default, detected from
tserver_master_addrs, but can be specified explicitly for Kubernetes auto-discovery.Default: 0 (auto-detect)Expected maximum clock skew in microseconds between any two nodes in the deployment.Default:
500000 (500 ms)Requires restart after modification.
Queue size for the tablet server to serve reads and writes from applications.Default:
5000Requires restart after modification.
Time source used by the database. Set to
clockbound for highly accurate time sources.Default: ""Web Server Configuration
Address to bind for the web server user interface.Default:
0.0.0.0 (or 127.0.0.1)Port for monitoring the web server.Default:
9000Monitoring web server home directory.Default: The
www directory in YugabyteDB homeLocation of SSL certificate file (in .pem format) for the web server. If empty, SSL is disabled.Default:
""Requires restart after modification.
Domain used for .htpasswd authentication. Use with
--webserver_password_file.Default: ""Requires restart after modification.
Location of .htpasswd file containing usernames and hashed passwords for web server authentication.Default:
""Requires restart after modification.
Logging Flags
Directory to write yb-tserver log files.Default: Same as
--fs_data_dirsRequires restart after modification.
Write log messages to stderr instead of log files.Default:
falseMaximum log size in megabytes. A value of 0 is silently overridden to 1.Default:
1800 (1.8 GB)Minimum level to log messages. Values: 0 (INFO), 1 (WARN), 2 (ERROR), 3 (FATAL).Default:
0 (INFO)Log messages at or above this level are copied to stderr in addition to log files.Default:
3Stop attempting to log to disk if the disk is full.Default:
falseEnable or disable callhome diagnostics.Default:
trueNetworking
Comma-separated list of network interface addresses to bind for RPC connections.Default: Private IP of the host (e.g.,
172.161.x.x:9100)Values must match across all yb-tserver and yb-master configurations.
Public IP or DNS hostname of the server (with optional port) for server-to-server communication.Default:
""Duration in milliseconds until a cached DNS resolution expires.Default:
60000 (1 minute)Policy for using private IP addresses for inter-node communication.Valid values:
never- Always use broadcast addresseszone- Use private IP within zoneregion- Use private IP within region
neverAddress to bind the Redis proxy to.Default:
""Address to bind the CQL proxy to.Default:
""Address to bind the PostgreSQL proxy to.Default:
""Requires restart after modification.
Storage and Data Management
Comma-separated list of mount directories where yb-tserver will create a
yb-data/tserver data directory.Comma-separated list of directories for write-ahead logs (WAL). Can be the same as
--fs_data_dirs but not a subdirectory.Default: Same as --fs_data_dirsRate limit for RocksDB compaction and flush operations in bytes per second.Default:
256000000 (256 MB/s)Size of the RocksDB block cache in bytes. Set to -1 for automatic sizing.Default:
-1 (auto)Size of RocksDB data blocks in bytes.Default:
32768 (32 KB)Enable TTL-based file filtering to improve scan performance on tables with TTL.Default:
truePerformance Tuning
Memory Management
Maximum memory this process should use in bytes. A value of 0 uses a percentage of total system memory.Default:
0For Kubernetes, this is automatically set from pod memory limits.
Percentage of available RAM to use when
--memory_limit_hard_bytes is 0.Default: 0.10 (10%)Does not apply to Kubernetes deployments.
When true, memory division defaults are optimized for YSQL and account for available RAM and cores.Default:
false (set to true with yugabyted)Compaction Settings
Frequency in hours for scheduled full compaction. A value of 0 disables scheduled compaction.Default:
0 (disabled)Percentage of obsolete keys required to trigger automatic compaction.Default:
99Minimum number of obsolete keys required to trigger automatic compaction.Default:
10000Minimum wait time in seconds between automatic compactions.Default:
0Heartbeat Configuration
Interval in milliseconds between heartbeats sent to the master.Default:
1000 (1 second)Timeout in milliseconds for heartbeat RPC operations.Default:
15000 (15 seconds)Number of consecutive heartbeat failures before backing off.Default:
3PostgreSQL Configuration Parameters
YugabyteDB uses PostgreSQL server configuration parameters for YSQL. You can modify these parameters using several methods, listed in order of precedence (lowest to highest):-
PostgreSQL server configuration flag (
--ysql_pg_conf_csv) -
Direct YSQL flag (if available with
ysql_prefix) -
Per-database setting
-
Per-role setting
-
Per-session setting
-
Per-transaction setting
Comma-separated list of PostgreSQL configuration parameters in key=value format.Example:
--ysql_pg_conf_csv="max_connections=200,shared_buffers=2GB"Enable the YSQL API.Default:
trueMust match the value on all yb-master servers.
Enable YSQL authentication.Default:
falseComma-separated list of PostgreSQL host-based authentication rules.
Security
Enable SSL/TLS encryption for client-to-server communications.Default:
falseEnable SSL/TLS encryption for node-to-node communications.Default:
falseDirectory containing SSL certificate and key files.Default:
""Allow insecure connections when encryption is enabled.Default:
trueEnable the YSQL connection manager for connection pooling.Default:
falseRequires restart after modification.
Port for the YSQL connection manager.Default:
5433Metrics and Monitoring
Interval in milliseconds for metrics snapshots.Default:
30000 (30 seconds)Include #TYPE and #HELP information in Prometheus metrics output.Default:
trueMaximum number of Prometheus metric entries returned per scrape.Default:
UINT32_MAXExport IntentsDB statistics to Prometheus metrics.Default:
trueAdvanced Flags
Use tablespace-based placement for transaction status tables.Default:
falseReport YSQL DDL transaction status to master.Default:
truePostgreSQL client session expiration time in milliseconds.Default:
60000 (1 minute)
