You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/en/configuration/caching.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,11 +24,11 @@ Two types of cache configuration are supported:
24
24
25
25
#### Local cache
26
26
Local cache is stored on machine's file system. Therefore it is suitable for single replica deployments.
27
-
Configuration template for local cache can be found [here](https://github.com/ContentSquare/chproxy/blob/master/config/#file_system_cache_config)
27
+
Configuration template for local cache can be found [here](https://github.com/ContentSquare/chproxy/blob/master/config/#file_system_cache_config).
28
28
29
29
#### Distributed cache
30
30
Distributed cache relies on external database to share cache across multiple replicas. Therefore it is suitable for
31
-
multiple replicas deployments. Currently only [redis](https://redis.io/) key value store is supported.
32
-
Configuration template for distributed cache can be found [here](https://github.com/ContentSquare/chproxy/blob/master/config/#distributed_cache_config)
31
+
multiple replicas deployments. Currently only [Redis](https://redis.io/) key value store is supported.
32
+
Configuration template for distributed cache can be found [here](https://github.com/ContentSquare/chproxy/blob/master/config/#distributed_cache_config).
@@ -23,7 +23,7 @@ Metrics are exposed in [prometheus text format](https://prometheus.io/docs/instr
23
23
| host_health | Gauge | Health state of hosts by clusters |`cluster`, `replica`, `cluster_node`|
24
24
| host_penalties_total | Counter | The number of given penalties by host |`cluster`, `replica`, `cluster_node`|
25
25
| killed_request_total | Counter | The number of requests killed by proxy |`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
26
-
| proxied_response_duration_seconds | Summary | Duration for responses proxied from clickhouse|`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
26
+
| proxied_response_duration_seconds | Summary | Duration for responses proxied from ClickHouse|`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
27
27
| request_body_bytes_total | Counter | The amount of bytes read from request bodies |`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
28
28
| request_duration_seconds | Summary | Request duration. Includes possible queue wait time |`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
29
29
| request_queue_size | Gauge | Request queue size at the moment |`user`, `cluster`, `cluster_user`|
@@ -34,7 +34,7 @@ Metrics are exposed in [prometheus text format](https://prometheus.io/docs/instr
34
34
| timeout_request_total | Counter | The number of timed out requests |`user`, `cluster`, `cluster_user`, `replica`, `cluster_node`|
35
35
| user_queue_overflow_total | Counter | The number of overflows for per-user request queues |`user`, `cluster`, `cluster_user`|
36
36
37
-
An example of [Grafana's](https://grafana.com) dashboard for `chproxy` metrics is available [here](https://github.com/ContentSquare/chproxy/blob/master/chproxy_overview.json)
37
+
An example of [Grafana's](https://grafana.com) dashboard for `chproxy` metrics is available [here](https://github.com/ContentSquare/chproxy/blob/master/chproxy_overview.json).
Copy file name to clipboardExpand all lines: docs/content/en/history.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,5 +10,5 @@ position: 401
10
10
-`max_execution_time` may be exceeded due to the current [implementation deficiencies](https://github.com/yandex/ClickHouse/issues/217).
11
11
-`max_concurrent_queries` works only on a per-node basis. There is no way to limit the number of concurrent queries on a cluster if queries are spread across cluster nodes.
12
12
13
-
Such "leaky" limits may lead to high resource usage on all the cluster nodes. After facing this problem we had to maintain two distinct http proxies in front of our `ClickHouse` cluster - one for spreading `INSERT`s among cluster nodes and another one for sending `SELECT`s to a dedicated node where limits may be enforced somehow. This was fragile and inconvenient to manage, so `chproxy` has been created :)
13
+
Such "leaky" limits may lead to high resource usage on all the cluster nodes. After facing this problem we had to maintain two distinct HTTP proxies in front of our `ClickHouse` cluster - one for spreading `INSERT`s among cluster nodes and another one for sending `SELECT`s to a dedicated node where limits may be enforced somehow. This was fragile and inconvenient to manage, so `chproxy` has been created :)
@@ -18,19 +18,19 @@ Chproxy, is an http proxy and load balancer for [ClickHouse](https://ClickHouse.
18
18
- May limit HTTP and HTTPS access by IP/IP-mask lists.
19
19
- May limit per-user access by IP/IP-mask lists.
20
20
- May limit per-user query duration. Timed out or canceled queries are forcibly killed
21
-
via [KILL QUERY](http://clickhouse-docs.readthedocs.io/en/latest/query_language/queries.html#kill-query).
21
+
via [KILL QUERY](https://clickhouse.tech/docs/en/sql-reference/statements/kill/#kill-query-statement).
22
22
- May limit per-user requests rate.
23
23
- May limit per-user number of concurrent requests.
24
24
- All the limits may be independently set for each input user and for each per-cluster user.
25
25
- May delay request execution until it fits per-user limits.
26
-
- Per-user [response caching](#caching) may be configured.
26
+
- Per-user [response caching](/configuration/caching) may be configured.
27
27
- Response caches have built-in protection against [thundering herd](https://en.wikipedia.org/wiki/Cache_stampede) problem aka `dogpile effect`.
28
28
- Evenly spreads requests among replicas and nodes using `least loaded` + `round robin` technique.
29
29
- Monitors node health and prevents from sending requests to unhealthy nodes.
30
30
- Supports automatic HTTPS certificate issuing and renewal via [Let’s Encrypt](https://letsencrypt.org/).
31
31
- May proxy requests to each configured cluster via either HTTP or [HTTPS](https://github.com/yandex/ClickHouse/blob/96d1ab89da451911eb54eccf1017eb5f94068a34/dbms/src/Server/config.xml#L15).
32
32
- Prepends User-Agent request header with remote/local address and in/out usernames before proxying it to `ClickHouse`, so this info may be queried from [system.query_log.http_user_agent](https://github.com/yandex/ClickHouse/issues/847).
33
-
- Exposes various useful [metrics](#metrics) in [prometheus text format](https://prometheus.io/docs/instrumenting/exposition_formats/).
33
+
- Exposes various useful [metrics](/configuration/metrics) in [Prometheus text format](https://prometheus.io/docs/instrumenting/exposition_formats/).
34
34
- Configuration may be updated without restart - just send `SIGHUP` signal to `chproxy` process.
35
35
- Easy to manage and run - just pass config file path to a single `chproxy` binary.
36
36
- Easy to [configure](https://github.com/contentsquare/chproxy/blob/master/config/examples/simple.yml):
Copy file name to clipboardExpand all lines: docs/content/en/use-cases/authorize-users.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ position: 303
6
6
---
7
7
8
8
Suppose you need to access `ClickHouse` cluster from anywhere by username/password.
9
-
This may be used for building graphs from [ClickHouse-grafana](https://github.com/ContentSquare/ClickHouse-grafana) or [tabix](https://tabix.io/).
9
+
This may be used for building graphs from [ClickHouse-grafana](https://github.com/ContentSquare/ClickHouse-grafana) or [Tabix](https://tabix.io/).
10
10
It is bad idea to transfer unencrypted password and data over untrusted networks.
11
11
So HTTPS must be used for accessing the cluster in such cases.
12
12
The following `chproxy` config may be used for [this use case](https://github.com/ContentSquare/chproxy/blob/master/config/examples/https.yml):
0 commit comments