Commit Graph

167 Commits

Author SHA1 Message Date
taiyang-li
94a7a09598 Merge remote-tracking branch 'origin/master' into rocksdb_metacache 2021-12-27 10:14:24 +08:00
Kevin Michel
ffc1fca296
Start/stop servers when listen_host/*_port changes
This allows starting and stopping separately each protocol server
without restarting ClickHouse.

This also allows adding or removing `listen_host` entries, which
start and stops servers for all enabled ports.

When stopping a server, the listening socket is immediately closed
(and available for another server).

Protocols with persistent connections try to wait for any currently
running query to finish before closing the connection, but idle
connection are closed quickly (depending on how often the protocol
is polled).

An extra ProfileEvent is added, `MainConfigLoads`, it is
incremented every time the configuration is reloaded. This helps
when trying to assess whether the new configuration was applied.
2021-12-24 08:26:02 +01:00
liyang
37ba8004ff Speep up mergetree starting up process 2021-12-18 16:39:59 +08:00
kssenii
ca283a4bb8 Fix optimization with lazy seek 2021-12-17 00:18:28 +03:00
lgbo-ustc
248e933fc4 Add test for local cache 2021-12-14 16:06:30 +08:00
alexey-milovidov
96ec92c7cd
Merge pull request #31155 from ClickHouse/incremental-profile-events
Send incremental profile events to client
2021-12-01 04:04:41 +03:00
kssenii
f18dcd2287 Merge branch 'master' of github.com:ClickHouse/ClickHouse into seekable-read-buffers 2021-11-13 14:38:57 +03:00
Azat Khuzhin
f9428450cd Fix OpenedFileCacheHits/OpenedFileCacheMisses 2021-11-10 21:15:27 +03:00
Azat Khuzhin
baf14444e6 Cleanup ProfileEvents and CurrentMetrics 2021-11-10 21:15:27 +03:00
Dmitry Novik
f5a92c6f0b cleanup code 2021-11-08 23:47:57 +03:00
Dmitry Novik
a093395b9b Process incremental profile events on client 2021-11-08 16:38:31 +03:00
Dmitry Novik
8708e00b3a Send incremental profile events to client 2021-11-08 12:40:31 +03:00
kssenii
45ea820297 Reduce memory usage for some formats 2021-11-03 14:30:03 +03:00
kssenii
9461e225bb Merge branch 'master' of github.com:ClickHouse/ClickHouse into disk-async-read 2021-10-27 22:47:47 +03:00
Azat Khuzhin
f41cf281e4 Add QueryProfilerRuns profile event
This will help to investigate query latency spikes.
2021-10-25 21:14:16 +03:00
kssenii
31cd71c849 Clean up 2021-10-20 09:37:18 +03:00
kssenii
881ae8617e Merge branch 'master' of github.com:ClickHouse/ClickHouse into disk-async-read 2021-10-15 15:09:56 +03:00
kssenii
edfb1a5521 Better performance for smaller number of threads 2021-10-15 15:07:39 +03:00
kssenii
3995506d37 Adjust range reader for remote fs reads 2021-10-15 11:36:26 +03:00
Dmitry Novik
abb74d2a5b Make Counters::Snapshot immutable 2021-10-12 13:46:32 +03:00
Dmitry Novik
a33610aa32 Make read of Counters snapshot non-atomic 2021-10-12 13:46:32 +03:00
kssenii
eb5cb86271 More profile events 2021-10-10 23:20:00 +03:00
kssenii
0104cb1c8e Better 2021-09-21 01:51:17 +03:00
Alexey Milovidov
0316f1cc3e Even more instrumentation 2021-08-27 03:08:10 +03:00
Alexey Milovidov
91cef77edc Instrumentation 2021-08-27 03:01:07 +03:00
alexey-milovidov
6f13eb49c1
Merge pull request #26320 from Algunenano/profile_sleep_calls
Add profile events for sleep function calls
2021-07-17 01:37:23 +03:00
Alexey Milovidov
d984fc4301 Fix flaky integration test 2021-07-15 13:35:37 +03:00
Raúl Marín
901e251d53 Add profile events to sleep function calls 2021-07-14 18:44:09 +02:00
Alexey Milovidov
30826c7d7d Return O_DIRECT 2021-07-11 03:33:14 +03:00
Alexey Milovidov
81646f8389 Merge branch 'master' into ditch-aio 2021-07-11 03:06:45 +03:00
Alexey Milovidov
9875adc00b Make it even worse 2021-07-06 01:09:39 +03:00
Alexey Milovidov
21fb6ddea5 Remove AIO for sequential reads 2021-07-05 23:02:24 +03:00
Alexey Milovidov
c762e2247d More instrumentation for network interaction: add counters for recv/send bytes; add gauges for recvs/sends. 2021-07-04 00:00:50 +03:00
Amos Bird
264cff6415
Projections
TODO (suggested by Nikolai)

1. Build query plan fro current query (inside storage::read) up to WithMergableState
2. Check, that plan is simple enough: Aggregating - Expression - Filter - ReadFromStorage (or simplier)
3. Check, that filter is the same as filter in projection, and also expression calculates the same aggregation keys as in projection
4. Return WithMergableState if projection applies

3 will be easier to do with ActionsDAG, cause it sees all functions, and dependencies are direct (but it is possible with ExpressionActions also)

Also need to figure out how prewhere works for projections, and
row_filter_policies.

wip
2021-05-11 18:12:23 +08:00
Azat Khuzhin
19e0439629 Add ability to flush buffer only in background for StorageBuffer
Add 3 new engine arguments:
- flush_time
- flush_rows
- flush_bytes

That will be checked only for background flush, this maybe useful if
INSERT latency is "crucial".
2021-04-15 21:22:13 +03:00
Azat Khuzhin
c4a7e81287 Add metric to track how much time is spend during waiting for Buffer layer lock
It uses very fast CLOCK_MONOTONIC_COARSE, so this should not be a
problem.
Also note that there is no sense in using microseconds/nanoseconds since
accuracy of CLOCK_MONOTONIC_COARSE usually milliseconds.
2021-04-06 21:13:24 +03:00
Alexey Milovidov
2a8ac01cdb Rename as suggested by Kita 2021-03-28 22:24:28 +03:00
Alexey Milovidov
bcdf3dce36 Add cache for mmapped files 2021-03-27 02:22:51 +03:00
Pavel Kruglov
d380454044 Change read_data_timeout from sec to ms, add profile event for hedged requests and better process receiving packets 2021-03-18 20:16:17 +03:00
Azat Khuzhin
6965ac26c3 Distributed: Add ability to delay/throttle INSERT until pending data will be reduced
Add two new settings for the Distributed engine:
- bytes_to_delay_insert
- max_delay_to_insert

If at the beginning of INSERT there will be too much pending data, more
then bytes_to_delay_insert, then the INSERT will wait until it will be
shrinked, and not more then max_delay_to_insert seconds.

If after this there will be still too much pending, it will throw an
exception.

Also new profile events were added (by analogy to the MergeTree):
- DistributedDelayedInserts (although you can use system.errors instead
  of this, but still)
- DistributedRejectedInserts
- DistributedDelayedInsertsMilliseconds
2021-03-03 23:30:23 +03:00
Alexey Milovidov
6eb5a5f4d9 Remove useless code 2021-01-10 03:28:59 +03:00
Alexey Milovidov
828d27d801 Remove unused ProfileEvents 2020-11-24 20:45:24 +03:00
alexey-milovidov
453914b6b8
Update ProfileEvents.cpp 2020-09-09 21:02:53 +03:00
Peng Jian
9fa04cf48b Add QueryMemoryLimitExceeded event 2020-09-10 00:59:38 +08:00
Anton Ivashkin
327090b7ea Add QueryTimeMicroseconds, SelectQueryTimeMicroseconds and InsertQueryTimeMicroseconds to system.events, second attempt 2020-08-04 19:38:13 +03:00
alexey-milovidov
65c755190e
Revert "Add QueryTimeMicroseconds, SelectQueryTimeMicroseconds and InsertQuer…" 2020-08-04 01:18:59 +03:00
Alexander Kuzmenkov
c4a33430b1
Merge pull request #13028 from ianton-ru/select_insert_time
Add QueryTimeMicroseconds, SelectQueryTimeMicroseconds and InsertQuer…
2020-08-03 17:07:34 +03:00
Anton Ivashkin
f4efe3c2fd Add QueryTimeMicroseconds, SelectQueryTimeMicroseconds and InsertQueryTimeMicroseconds to system.events 2020-07-29 13:32:18 +03:00
Anton Ivashkin
742793be54 Add SelectedRows and SelectedBytes events 2020-07-21 17:50:02 +03:00
alexey-milovidov
504783fe2b
Update ProfileEvents.cpp 2020-07-19 03:20:45 +03:00
Alexander Kuzmenkov
5a662ca48c Add perf metric for NUMA-local memory access 2020-07-17 20:10:59 +03:00
Anton Ivashkin
26fca949bd add profiling events from S3 request to system.events and system.query_log 2020-07-13 11:27:11 +03:00
Alexander Kuzmenkov
af8d62bbcb Add TLB misses perf counters. 2020-06-29 15:48:18 +03:00
Alexander Kuzmenkov
a8db0b40d0 add page fault perf events 2020-06-25 23:42:31 +03:00
Alexey Milovidov
5211a42c04 Remove leader election, step 3 2020-06-19 17:18:58 +03:00
Alexey Milovidov
21897f2abd Instrument 2020-06-13 04:35:49 +03:00
Alexander Kuzmenkov
3c18344b06 account for counter multiplexing 2020-05-28 13:48:34 +03:00
Alexander Kuzmenkov
db84f0e892 Merge remote-tracking branch 'origin/master' into HEAD 2020-05-27 16:30:13 +03:00
Nikita Orlov
dffd15f643
issue-7224 Add failed Insert and Select query counters to ProfileEvents 2020-05-23 01:00:15 +03:00
Andrey Skobtsov
93d8e8c404 Removed perf page faults as they already exist in rusage 2020-05-22 14:09:14 +03:00
Andrey Skobtsov
e3b756e65f Added cpu-clock to the list of supported events as it is included in perf and can be disabled if needed 2020-05-21 23:40:47 +03:00
Andrey Skobtsov
1edd29b3f8 Removed custom events as they don't work in an "increment" manner 2020-05-18 15:23:47 +03:00
Andrey Skobtsov
e7bea6e03a Renamed events 2020-05-18 14:44:40 +03:00
Andrey Skobtsov
182e4f2c0b Added running and enabled time for perf metrics 2020-05-18 13:40:01 +03:00
Alexander Kuzmenkov
9ed9475e46
boop the CI 2020-04-23 03:55:03 +03:00
Andrey Skobtsov
afaa7eca51 Merge branch 'master' into perf_events_metrics
# Conflicts:
#	dbms/src/Common/ProfileEvents.cpp
2020-04-13 23:59:48 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00