@@ -38,7 +38,6 @@ cluster efficiency.
3838- [ Migrate to specialized nodes] ( #migrate-to-specialized-nodes )
3939- [ Manage configurations] ( #manage-configurations )
4040
41-
4241## Specialize nodes for specific workloads
4342
4443In an {{% product-name %}} cluster, you can dedicate nodes to specific tasks:
@@ -65,6 +64,7 @@ influxdb3 serve --mode=all
6564```
6665
6766Available modes:
67+
6868- ` all ` : All capabilities enabled (default)
6969- ` ingest ` : Data ingestion and line protocol parsing
7070- ` query ` : Query execution and data retrieval
@@ -103,6 +103,7 @@ influxdb3 \
103103```
104104
105105** Configuration rationale:**
106+
106107- ** 12 IO threads** : Handle multiple concurrent writers (Telegraf agents, applications)
107108- ** 20 DataFusion threads** : Required for data snapshot operations that convert buffered writes to Parquet files
108109- ** 60% memory pool** : Balance between write buffers and data snapshot operations
@@ -126,6 +127,7 @@ du -sh /path/to/data/wal/
126127```
127128
128129> [ !Important]
130+ >
129131> #### Scale IO threads with concurrent writers
130132>
131133> If you see only 2 CPU cores at 100% on a large ingester, increase
@@ -158,6 +160,7 @@ influxdb3 \
158160```
159161
160162** Configuration rationale:**
163+
161164- ** 4 IO threads** : Minimal, just for HTTP request handling
162165- ** 60 DataFusion threads** : Maximum parallelism for query execution
163166- ** 90% memory pool** : Maximize memory for complex aggregations
@@ -211,6 +214,7 @@ influxdb3 \
211214```
212215
213216** Configuration rationale:**
217+
214218- ** 2 IO threads** : Minimal, compaction is DataFusion-intensive
215219- ** 30 DataFusion threads** : Maximum threads for sort/merge operations
216220- ** 24h gen2 duration** : Time-based compaction strategy
@@ -396,6 +400,7 @@ GROUP BY table_name;
396400```
397401
398402#### Query nodes
403+
399404``` sql
400405-- Monitor query performance
401406SELECT
@@ -408,6 +413,7 @@ WHERE issue_time > now() - INTERVAL '5 minutes'
408413```
409414
410415#### Compactor nodes
416+
411417``` sql
412418-- Monitor compaction progress
413419SELECT
@@ -447,16 +453,17 @@ curl -X POST "http://query-01:8181/api/v3/query_sql" \
447453```
448454
449455> [ !Tip]
456+ >
450457> ### Extend monitoring with plugins
451- >
458+ >
452459> Enhance your cluster monitoring capabilities using the InfluxDB 3 processing engine. The [ InfluxDB 3 plugins library] ( https://github.com/influxdata/influxdb3_plugins ) includes several monitoring and alerting plugins:
453- >
460+ >
454461> - ** System metrics collection** : Collect CPU, memory, disk, and network statistics
455462> - ** Threshold monitoring** : Monitor metrics with configurable thresholds and alerting
456463> - ** Multi-channel notifications** : Send alerts via Slack, Discord, SMS, WhatsApp, and webhooks
457464> - ** Anomaly detection** : Identify unusual patterns in your data
458465> - ** Deadman checks** : Detect missing data streams
459- >
466+ >
460467> For complete plugin documentation and setup instructions, see [ Process data in InfluxDB 3 Enterprise] ( /influxdb3/enterprise/get-started/process/ ) .
461468
462469### Monitor and respond to performance issues
@@ -466,6 +473,7 @@ Use the [monitoring queries](#monitor-cluster-wide-metrics) to identify the foll
466473#### High CPU with low throughput (Ingest nodes)
467474
468475** Detection query:**
476+
469477``` sql
470478-- Check for high failed query rate indicating parsing issues
471479SELECT
@@ -477,6 +485,7 @@ WHERE issue_time > now() - INTERVAL '5 minutes';
477485```
478486
479487** Symptoms:**
488+
480489- Only 2 CPU cores at 100% on large machines
481490- High write latency despite available resources
482491- Failed queries due to parsing timeouts
@@ -486,6 +495,7 @@ WHERE issue_time > now() - INTERVAL '5 minutes';
486495#### Memory pressure alerts (Query nodes)
487496
488497** Detection query:**
498+
489499``` sql
490500-- Monitor queries with high memory usage or failures
491501SELECT
@@ -498,6 +508,7 @@ WHERE issue_time > now() - INTERVAL '5 minutes'
498508```
499509
500510** Symptoms:**
511+
501512- Queries failing with out-of-memory errors
502513- High memory usage approaching pool limits
503514- Slow query execution times
@@ -507,6 +518,7 @@ WHERE issue_time > now() - INTERVAL '5 minutes'
507518#### Compaction falling behind (Compactor nodes)
508519
509520** Detection query:**
521+
510522``` sql
511523-- Check compaction event frequency and success rate
512524SELECT
@@ -519,6 +531,7 @@ GROUP BY event_type;
519531```
520532
521533** Symptoms:**
534+
522535- Decreasing compaction event frequency
523536- Growing number of small Parquet files
524537- Increasing query times due to file fragmentation
@@ -530,6 +543,7 @@ GROUP BY event_type;
530543### Ingest node issues
531544
532545** Problem** : Low throughput despite available CPU
546+
533547``` bash
534548# Check: Are only 2 cores busy?
535549top -H -p $( pgrep influxdb3)
@@ -539,6 +553,7 @@ top -H -p $(pgrep influxdb3)
539553```
540554
541555** Problem** : Data snapshot creation affecting ingest
556+
542557``` bash
543558# Check: DataFusion threads at 100% during data snapshots to Parquet
544559# Solution: Reserve more DataFusion threads for snapshot operations
@@ -548,6 +563,7 @@ top -H -p $(pgrep influxdb3)
548563### Query node issues
549564
550565** Problem** : Slow queries despite resources
566+
551567``` bash
552568# Check: Memory pressure
553569free -h
@@ -557,6 +573,7 @@ free -h
557573```
558574
559575** Problem** : Poor cache hit rates
576+
560577``` bash
561578# Solution: Increase Parquet cache
562579--parquet-mem-cache-size=10GB
@@ -565,6 +582,7 @@ free -h
565582### Compactor node issues
566583
567584** Problem** : Compaction falling behind
585+
568586``` bash
569587# Check: Compaction queue length
570588# Solution: Add more compactor nodes or increase threads
@@ -603,6 +621,7 @@ node3: --mode=compact --num-io-threads=2
603621
604622## Manage configurations
605623
624+ <!--
606625### Use configuration files
607626
608627Create node-specific configuration files:
@@ -629,6 +648,7 @@ Launch with configuration:
629648```bash
630649influxdb3 serve --config ingester.toml
631650```
651+ -->
632652
633653### Configure using environment variables
634654
0 commit comments