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
The baseline tests confirm that ClickHouse is stable, functional, and performing efficiently on the Arm64 VM. With core operations validated, the setup is now ready for detailed performance benchmarking.
- **Result RPS / Result MiB/s:** Reflects the size and rate of returned query results. Low values are expected for aggregate queries like `COUNT(*)`.
250
250
- **Insert Benchmark Metrics:** Write tests measure ingestion speed and stability, where consistent latency indicates reliable bulk insert performance.
251
251
252
-
### Benchmark summary on x86_64
253
-
To compare the benchmark results, the following results were collected by running the same benchmark on an `x86 - c4-standard-4` (4 vCPUs, 15 GB Memory) x86_64 VM in GCP, running SUSE:
@@ -269,8 +259,6 @@ Results from the earlier run on the `c4a-standard-4` (4 vCPU, 16 GB memory) Arm6
269
259
| Read (High Concurrency) | Filtered COUNT | `COUNT(*) WHERE user_id % 10 = 0` | 20 | 8 | 99.72 | 99.72 M | 760.83 | 29 ms | 63 ms | 78 ms |
270
260
| Write | Bulk Insert | `INSERT SELECT … FROM numbers(500000)` | 5 | 4 | 20.94 | 10.47 M | 79.86 | 68 ms | 73 ms | 73 ms |
271
261
272
-
### ClickHouse Benchmark comparison insights
273
-
274
262
- **High Read Throughput:** Simple filtered reads and aggregations achieved over **63–67 million rows/sec**, demonstrating strong scan and aggregation performance on Arm64.
275
263
- **Scales Under Concurrency:** At higher concurrency (8 clients), the system sustained nearly **100 million rows/sec**, showing efficient parallel execution and CPU utilization.
276
264
- **Fast Aggregations:** `GROUP BY` workloads delivered over **1 GiB/s throughput** with low single-digit millisecond latency at moderate concurrency.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/installation.md
+42-30Lines changed: 42 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,28 +9,21 @@ layout: learningpathall
9
9
## Install ClickHouse on GCP VM
10
10
This guide covers installing, configuring, and validating ClickHouse on a GCP SUSE Linux Arm64 VM. It includes system preparation, installing ClickHouse with the official installer, verifying the setup, starting the server, and connecting via the client. The guide also configures ClickHouse as a systemd service to ensure reliable, automatic startup on Arm-based environments.
11
11
12
-
### Install required system packages
12
+
### Install required system packages and the ClickHouse repo
13
13
Refresh system repositories and install basic utilities needed to download and run ClickHouse.
Set proper ownership so ClickHouse can access these directories.
69
62
70
63
```console
71
64
sudo chown -R clickhouse:clickhouse \
72
65
/var/lib/clickhouse \
73
66
/var/log/clickhouse-server \
74
-
/var/run/clickhouse-server
67
+
/var/run/clickhouse-client
68
+
sudo chmod 755 /var/lib/clickhouse \
69
+
/var/log/clickhouse-server \
70
+
/var/run/clickhouse-client
75
71
```
76
72
77
-
### Start ClickHouse Server manually (validation)
73
+
### Start ClickHouse Server manually
78
74
You can just run the ClickHouse server in the foreground to confirm the configuration is valid.
79
75
80
76
```console
81
-
sudo clickhouse server --config-file=/etc/clickhouse-server/config.xml
77
+
sudo -u clickhouse clickhouse server --config-file=/etc/clickhouse-server/config.xml
82
78
```
83
79
Keep this terminal open while testing.
84
80
85
-
### Start clickhouse-server with:
86
-
Start ClickHouse using the built-in start command for normal operation.
87
-
88
-
```console
89
-
sudo clickhouse start
90
-
```
91
81
### Connect using ClickHouse Client
92
-
Open a new terminal and connect to the ClickHouse server.
82
+
Open a new SSH terminal and connect to the ClickHouse server.
93
83
94
84
```console
95
85
clickhouse client
@@ -106,12 +96,14 @@ SELECT version()
106
96
Query id: ddd3ff38-c0c6-43c5-8ae1-d9d07af4c372
107
97
108
98
┌─version()───┐
109
-
1. │ 25.12.1.168 │
99
+
1. │ 25.11.2.24 │
110
100
└─────────────┘
111
101
112
102
1 row in set. Elapsed: 0.001 sec.
113
103
```
114
104
105
+
Please close the client SSH terminal and press "ctrl-c" in the server SSH terminal to halt the manual invocation of ClickHouse. FYI, the server may take a few seconds to close down when "ctrl-c" is received.
106
+
115
107
{{% notice Note %}}
116
108
Recent benchmarks show that ClickHouse (v22.5.1.2079-stable) delivers up to 26% performance improvements on Arm-based platforms, such as AWS Graviton3, compared to other architectures, highlighting the efficiency of its vectorized execution engine on modern Arm CPUs.
117
109
You can view [this Blog](https://community.arm.com/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/improve-clickhouse-performance-up-to-26-by-using-aws-graviton3)
@@ -144,18 +136,38 @@ EOF
144
136
**Reload systemd and enable the service:**
145
137
146
138
```console
147
-
sudo systemctl daemon-reload
148
139
sudo systemctl enable clickhouse-server
149
140
sudo systemctl start clickhouse-server
141
+
sudo systemctl daemon-reload
150
142
```
151
143
144
+
{{% notice Note %}}
145
+
You may get the following error which can be safely ignored:
146
+
147
+
"ln: failed to create symbolic link '/etc/init.d/rc2.d/S50clickhouse-server': No such file or directory"
148
+
{{% /notice %}}
149
+
152
150
### Verify ClickHouse service
153
151
Ensure the ClickHouse server is running correctly as a background service.
154
152
155
153
```console
156
154
sudo systemctl status clickhouse-server
157
155
```
158
156
157
+
This confirms that the ClickHouse server is running correctly under systemd and ready to accept connections.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/clickhouse-gcp/instance.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,18 @@ To create a virtual machine based on the C4A instance type:
26
26
27
27

28
28
29
-
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**. Pick the preferred version for your Operating System. Ensure you select the **Arm image** variant. Click **Select**.
29
+
30
+
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**.
31
+
- If using use **SUSE Linux Enterprise Server**. Select "Pay As You Go" for the license type.
32
+
- Once appropriately selected and configured, please Click **Select**.
30
33
- Under **Networking**, enable **Allow HTTP traffic**.
31
34
- Click **Create** to launch the instance.
35
+
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
36
+
37
+

38
+
39
+
- A window from your browser should come up and you should now see a shell into your VM instance:
40
+
41
+

0 commit comments