chore(hosting): trim clickhouse config comments
Rationale for the config belongs in the PR, not the artifact. The one claim kept was also inaccurate: processors_profile_log and asynchronous_insert_log already ship TTLs in the pinned image, so the tables are not all unbounded. Drops the .server-changes entry: hosting-only changes are not covered by the webapp/supervisor areas, and a docker vs helm split is a separate discussion.
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
---
|
||||
area: hosting
|
||||
type: fix
|
||||
---
|
||||
|
||||
Self-hosted ClickHouse now disables its unbounded internal telemetry tables and keeps query/error logs on a bounded retention, fixing runaway CPU and memory usage on the recommended machine size. Existing self-hosted deployments must drop the previously written disabled log tables separately to reclaim disk.
|
||||
@@ -10,14 +10,7 @@
|
||||
<mark_cache_size>524288000</mark_cache_size> <!-- 500MB -->
|
||||
<concurrent_threads_soft_limit_num>1</concurrent_threads_soft_limit_num>
|
||||
|
||||
<!-- ClickHouse's own telemetry tables have no TTL and grow without bound; on the
|
||||
recommended webapp machine size their background merges eventually stop fitting
|
||||
in memory and are retried forever (there is no backoff for failed merges),
|
||||
pinning the CPU and ultimately failing the webapp's own inserts (#4343).
|
||||
The ClickHouse low-RAM guide recommends disabling exactly these tables:
|
||||
https://clickhouse.com/docs/operations/tips
|
||||
Same list as the dev stack (docker/config/clickhouse-disable-system-logs.xml),
|
||||
extended with the newer log tables. -->
|
||||
<!-- ClickHouse's own telemetry, too heavy for the recommended machine size -->
|
||||
<metric_log remove="1"/>
|
||||
<asynchronous_metric_log remove="1"/>
|
||||
<part_log remove="1"/>
|
||||
@@ -34,10 +27,7 @@
|
||||
<opentelemetry_span_log remove="1"/>
|
||||
<query_views_log remove="1"/>
|
||||
|
||||
<!-- Keep query_log and error_log (small and useful for debugging), but bounded.
|
||||
A config-level TTL survives log-table recreation, unlike ALTER ... MODIFY TTL.
|
||||
Note: ClickHouse renames the existing table to *_log_<N> when this changes;
|
||||
drop those leftovers to reclaim disk. -->
|
||||
<!-- A config-level ttl survives log-table recreation, unlike ALTER ... MODIFY TTL -->
|
||||
<query_log>
|
||||
<ttl>event_date + INTERVAL 7 DAY DELETE</ttl>
|
||||
</query_log>
|
||||
@@ -45,6 +35,5 @@
|
||||
<ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
|
||||
</error_log>
|
||||
|
||||
<!-- Profile settings do NOT live here: config.d is silently ignored for them.
|
||||
See users-override.xml, mounted under users.d. -->
|
||||
<!-- Profile settings only apply from users.d, see users-override.xml -->
|
||||
</clickhouse>
|
||||
|
||||
@@ -1,17 +1,11 @@
|
||||
<clickhouse>
|
||||
<profiles>
|
||||
<default>
|
||||
<!-- Low-memory settings for the recommended webapp machine size. These were
|
||||
previously in config.d/override.xml where profile settings are silently
|
||||
ignored — they only take effect from the users config tree (#4343). -->
|
||||
<max_block_size>8192</max_block_size>
|
||||
<max_download_threads>1</max_download_threads>
|
||||
<input_format_parallel_parsing>0</input_format_parallel_parsing>
|
||||
<output_format_parallel_formatting>0</output_format_parallel_formatting>
|
||||
<!-- The memory/query profilers sample stacks into system.trace_log
|
||||
(a Memory/MemoryPeak sample every 4 MB allocated, by default) — the main
|
||||
firehose that fills it. trace_log is disabled in override.xml; turn the
|
||||
samplers off too so they don't burn CPU producing discarded rows. -->
|
||||
<!-- Samplers only feed trace_log, which is disabled -->
|
||||
<memory_profiler_step>0</memory_profiler_step>
|
||||
<memory_profiler_sample_probability>0</memory_profiler_sample_probability>
|
||||
<query_profiler_real_time_period_ns>0</query_profiler_real_time_period_ns>
|
||||
|
||||
Reference in New Issue
Block a user