This guide helps you quickly get started with the XLIO Configuration Subsystem.
Quick Setup
-
Enable the New Configuration System:
export XLIO_USE_NEW_CONFIG=1
-
Choose Your Configuration Method:Option A: Inline Configuration (Recommended for Testing): export XLIO_INLINE_CONFIG="core.resources.memory_limit=4294967296, monitor.log.level=info, network.protocols.tcp.nodelay.enable=true" Option B: JSON Configuration File (Recommended for Production): Create /etc/libxlio_config.json: { "core": { "resources": { "memory_limit": 4294967296, "number_max_fds": 1024 } }, "monitor": { "log": { "level": "info", "filename": "/var/log/xlio.log" } }, "network": { "protocols": { "tcp": { "nodelay": { "enable": true } } } } } Option C: Environment Variable (Specify Config File Path): export XLIO_CONFIG_FILE="/tmp/my_config.json"
Common Configuration Scenarios
High Performance TCP
export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true, network.protocols.tcp.quickack=true"
Low Latency TCP
export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true, network.protocols.tcp.quickack=true, hardware_features.tcp.lro=disable"
Nginx High Performance
export XLIO_INLINE_CONFIG="applications.nginx.workers_num=8, applications.nginx.distribute_cq=true, applications.nginx.src_port_stride=2"
Debug and Monitoring
export XLIO_INLINE_CONFIG="monitor.log.level=debug, monitor.log.details=2, monitor.stats.file_path=/tmp/xlio_stats.log, monitor.exit_report=true"
Quick Troubleshooting
Check Configuration Loading
# Enable configuration debug logging
export XLIO_INLINE_CONFIG="monitor.log.level=debug, monitor.log.details=3"
# Run your application and check for config messages
./your_application 2>&1 | grep -i config
Validate JSON Configuration
# Check JSON syntax
python3 -m json.tool /etc/libxlio_config.json
# Validate against schema
jsonschema -i /etc/libxlio_config.json /etc/xlio_config_schema.json
Configuration Priority Order
-
Inline Config (
XLIO_INLINE_CONFIG) - Highest priority -
JSON File (
XLIO_CONFIG_FILEor/etc/libxlio_config.json) -
Legacy Environment Variables - Lowest priority
Common Issues
|
Issue |
Solution |
|---|---|
|
Config not loaded |
Verify |
|
Invalid JSON |
Use |
|
Parameter not found |
Check parameter name in Configuration Reference |
Parameter Format Examples
Inline Configuration Syntax
-
Basic format: parameter.path=value
export XLIO_INLINE_CONFIG="monitor.log.level=info"
-
Multiple parameters: comma-separated
export XLIO_INLINE_CONFIG="monitor.log.level=info, core.resources.memory_limit=1073741824"
-
Boolean values: true/false
export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true"
JSON Configuration Hierarchy
{
"core": {
"resources": {
"memory_limit": 1073741824
}
},
"monitor": {
"log": {
"level": "info",
"file_path": "/var/log/xlio.log",
"details": 1
}
}
}
Next Steps
-
Advanced Configuration: See Configuration Reference for all parameters.
-
Migration: Use Migration Guide to convert legacy settings.
-
Troubleshooting: Enable debug logging for detailed configuration information.
Usage Tips
-
Use JSON files for production deployments (easier maintenance)
-
Minimize inline config for critical applications
-
Validate configurations before deployment
For the complete parameter documentation and advanced configuration patterns, see the XLIO Configuration Reference page.
Last updated: