Skip to Content
CyberDoyen SIEM 2.0 is released 🎉
Performance Tuning

Performance Tuning Guide

This guide provides recommendations for tuning CyberDoyen SIEM to maximize performance, ensuring efficient data processing and minimal latency.


1. Optimize Elasticsearch Configuration

Elasticsearch is the backbone of CyberDoyen SIEM, and its performance is critical to the overall system.

Key Configuration Parameters

ParameterDescriptionRecommended Value
index.refresh_intervalControls how often new data is indexed.1s
index.number_of_shardsNumber of shards per index, affects performance.1 for smaller datasets, 2-3 for larger datasets
index.number_of_replicasNumber of replicas per index, provides fault tolerance.0 for single-node setups, 1 for production environments
cluster.routing.allocation.disk.watermark.lowControls disk space thresholds for allocation.70%
cluster.routing.allocation.disk.watermark.highControls the high watermark for disk space.85%

Tip: Reducing the number of replicas or adjusting shard allocation can drastically improve query and indexing speeds.

Elasticsearch Configuration Example

# /opt/CyberDoyen/config/elasticsearch.yml index: refresh_interval: 1s number_of_shards: 1 number_of_replicas: 0 cluster.routing.allocation.disk.watermark.low: 70% cluster.routing.allocation.disk.watermark.high: 85%

2. Filebeat Tuning

Filebeat is used to send logs to CyberDoyen SIEM. Proper tuning of Filebeat ensures optimal log shipping and minimal overhead.

Key Configuration Parameters

ParameterDescriptionRecommended Value
output.elasticsearch.bulk_max_sizeThe maximum number of events to bulk together.1024
filebeat.registry.flushInterval to flush the registry for file reading.5s
filebeat.scan_frequencyFrequency to scan new logs in the specified paths.10s

Filebeat Configuration Example

# /opt/CyberDoyen/config/filebeat.yml output.elasticsearch: bulk_max_size: 1024 filebeat.registry.flush: 5s filebeat.scan_frequency: 10s

3. Database Performance Tuning

If using external databases for user authentication, query logging, or other integrations, ensure that database performance is optimized to handle high read and write loads.

Key Database Tuning Recommendations

ParameterDescriptionRecommended Value
max_connectionsMaximum number of simultaneous database connections.100 for moderate use, 500+ for high load environments
innodb_buffer_pool_sizeAmount of memory allocated for InnoDB storage engine.70-80% of total system memory
query_cache_sizeCache size for database queries.0 (recommended to disable for modern databases)
query_cache_typeEnables query cache for repeated queries.OFF (for high-performance setups)

Tip: Make sure your database’s read/write throughput is high enough to handle the volume of incoming and outgoing data from CyberDoyen SIEM.

MySQL Database Configuration Example

# /etc/mysql/my.cnf [mysqld] max_connections = 100 innodb_buffer_pool_size = 80% of system memory query_cache_size = 0 query_cache_type = OFF

4. JVM Performance Tuning

Since CyberDoyen SIEM relies on Java Virtual Machine (JVM) for runtime, proper JVM tuning is crucial for memory management and garbage collection.

Key JVM Configuration Parameters

ParameterDescriptionRecommended Value
XmsInitial heap size for the JVM.4GB
XmxMaximum heap size for the JVM.16GB
XssStack size per thread.256k
GCGarbage Collection settings to minimize pauses.G1GC (recommended)
JVM_OPTSSet of additional JVM options.-XX:+UseG1GC

JVM Configuration Example

# /opt/CyberDoyen/config/jvm.options -Xms4g -Xmx16g -Xss256k -XX:+UseG1GC

5. Network Performance Tuning

Network latency can impact the performance of data ingestion and communication between CyberDoyen SIEM components.

Key Network Tuning Recommendations

ParameterDescriptionRecommended Value
tcp_rmemDefines the minimum, default, and maximum receive buffer sizes.4096 87380 16777216
tcp_wmemDefines the minimum, default, and maximum send buffer sizes.4096 87380 16777216
net.core.rmem_maxMaximum receive buffer size.16777216
net.core.wmem_maxMaximum send buffer size.16777216

Tip: Ensure your network interface has enough bandwidth to handle the throughput required by CyberDoyen SIEM.

Linux Network Tuning Example

# /etc/sysctl.conf net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 tcp_rmem = 4096 87380 16777216 tcp_wmem = 4096 87380 16777216

6. General Performance Recommendations

In addition to the specific configurations above, here are some general best practices for improving CyberDoyen SIEM performance:

Best PracticeDescriptionRecommended Action
Disk I/O OptimizationUse SSDs for storage to significantly improve read/write speeds.Use SSDs for Elasticsearch and Filebeat storage.
Avoid Over-IndexingEnsure you are indexing only the necessary fields to minimize data bloat.Use index templates and mapping to limit unnecessary fields.
Use Data Retention PoliciesSet retention policies to keep data only for the necessary duration.Configure log rotation and data retention in Elasticsearch.
Cluster ScalingUse a multi-node cluster to distribute the load evenly.Set up Elasticsearch in a multi-node cluster for high availability and load balancing.

Conclusion

By tuning the various components of CyberDoyen SIEM—including Elasticsearch, Filebeat, JVM, and network—you can significantly improve system performance, reduce latency, and scale your deployment to handle larger volumes of security events.

For more advanced configurations and cluster setup, refer to the Configuration Guide.

Last updated on