Commit Graph

10 Commits

Author SHA1 Message Date
Azat Khuzhin
6fba6f7ddd Disable min_bytes_to_use_mmap_io by default
Reading files using mmap() does not have any significant benefits over
plain read() [1].

  [1]: https://gist.github.com/azat/3d6c8d82bdd91e7a38d997fd6bcfd574

And not only it does not have significant benefits, it also has some
issues, due to max_server_memory_usage (default to 90% of available
RAM), since when you read files with mmap() eventually process RSS may
exceed max_server_memory_usage, and in this case any allocation will
fail (with "Memory limit exceeded (total)") error (yes kernel will
unload pages, but likely it will happens after queries will starting to
fail), like in this test [2].

  [2]: https://gist.github.com/azat/4813489828162e6c2ce131963c6a1acb

TL;DR;

Note that there was also an idea to take those mmap()'ed regions in
memory tracking (#23211), but there are some drawbacks (since accounting
mmap() is tricky, first of all you need to account only once per inode
for file and plus kernel can unload some pages and those memory will not
be used by the server anymore).

And as an adddition to #23211 there was #23212, that adds
max_bytes_to_use_mmap_io, but since mmap is not a subject for memory
accounting there is no need in it.
2021-04-20 00:25:16 +03:00
Nikolai Kochetov
019513d869 Try fix perftests. 2021-03-03 13:42:44 +03:00
Alexander Kuzmenkov
030419db90 Try 12 threads max in perf test.
This will allow us to use more machines, not only Gold 6320.
2020-11-09 19:14:05 +03:00
Alexander Kuzmenkov
764f19820b max threads 2020-10-19 17:39:52 +03:00
Alexey Milovidov
35e8a895b6 Calculate profiler data in separate query runs 2020-09-19 20:38:21 +03:00
Alexander Kuzmenkov
000326b627 Avoid timeouts in perf test 2020-08-19 18:08:23 +03:00
Alexander Kuzmenkov
f514d0da77
Revert "Run perf tests with memory sampling (for allocations >1M)" 2020-07-07 19:59:42 +03:00
Azat Khuzhin
307c3c92a5 Run perf tests with memory sampling (for allocations >1M)
This is to know the memory allocation size distribution, that can be
obtained later from left-metric-log.tsv.

This is an attempt to tune tcmalloc (new CPP version by google) to use
lock-free part of the allocator for typical allocations (and it is a bad
idea just to increase kMaxSize there, since number of allocation for
each size class is also important).

P.S. hope that this file will be applied, if no, then the same effect
can be reached by tunning defaults in Settings.h

Refs: #11590
Cc: @akuzm
2020-07-05 12:43:12 +03:00
Alexander Kuzmenkov
377da4656d cleanup 2020-06-04 18:51:34 +03:00
Alexander Kuzmenkov
ebe70f5bcb performance comparison 2020-02-25 16:12:26 +03:00