- 28 Aug, 2020 1 commit
-
-
Jim Brunner authored
Update adds a general source for retrieving a monotonic time. In addition, AE has been updated to utilize the new monotonic clock for timer processing. This performance improvement is **not** enabled in a default build due to various H/W compatibility concerns, see README.md for details. It does however change the default use of gettimeofday with clock_gettime and somewhat improves performance. This update provides the following 1. An interface for retrieving a monotonic clock. getMonotonicUs returns a uint64_t (aka monotime) with the number of micro-seconds from an arbitrary point. No more messing with tv_sec/tv_usec. Simple routines are provided for measuring elapsed milli-seconds or elapsed micro-seconds (the most common use case for a monotonic timer). No worries about time moving backwards. 2. High-speed assembler implementation for x86 and ARM. The standard method for retrieving the monotonic clock is POSIX.1b (1993): clock_gettime(CLOCK_MONOTONIC, timespec*). However, most modern processors provide a constant speed instruction clock which can be retrieved in a fraction of the time that it takes to call clock_gettime. For x86, this is provided by the RDTSC instruction. For ARM, this is provided by the CNTVCT_EL0 instruction. As a compile-time option, these high-speed timers can be chosen. (Default is POSIX clock_gettime.) 3. Refactor of event loop timers. The timer processing in ae.c has been refactored to use the new monotonic clock interface. This results in simpler/cleaner logic and improved performance.
-
- 25 Aug, 2020 1 commit
-
-
filipe oliveira authored
A first step to enable a consistent full percentile analysis on query latency so that we can fully understand the performance and stability characteristics of the redis-server system we are measuring. It also improves the instantaneous reported metrics, and the csv output format.
-
- 11 Aug, 2020 1 commit
-
-
Mota authored
Obsoletes the need to run `make` before `make test`.
-
- 10 Jul, 2020 1 commit
-
-
James Hilliard authored
-
- 12 May, 2020 1 commit
-
-
David Carlier authored
This platform supports CPU affinity (but not OpenBSD).
-
- 02 May, 2020 1 commit
-
-
zhenwei pi authored
Currently, there are several types of threads/child processes of a redis server. Sometimes we need deeply optimise the performance of redis, so we would like to isolate threads/processes. There were some discussion about cpu affinity cases in the issue: https://github.com/antirez/redis/issues/2863 So implement cpu affinity setting by redis.conf in this patch, then we can config server_cpulist/bio_cpulist/aof_rewrite_cpulist/ bgsave_cpulist by cpu list. Examples of cpulist in redis.conf: server_cpulist 0-7:2 means cpu affinity 0,2,4,6 bio_cpulist 1,3 means cpu affinity 1,3 aof_rewrite_cpulist 8-11 means cpu affinity 8,9,10,11 bgsave_cpulist 1,10-11 means cpu affinity 1,10,11 Test on linux/freebsd, both work fine. Signed-off-by:
zhenwei pi <pizhenwei@bytedance.com>
-
- 25 Apr, 2020 1 commit
-
-
Madelyn Olson authored
-
- 27 Mar, 2020 1 commit
-
-
antirez authored
-
- 12 Mar, 2020 1 commit
-
-
bodong.ybd authored
-
- 01 Jan, 2020 1 commit
-
-
John Sully authored
-
- 29 Nov, 2019 1 commit
-
-
antirez authored
-
- 19 Nov, 2019 1 commit
-
-
Johannes Truschnigg authored
This adds Makefile/build-system support for USE_SYSTEMD=(yes|no|*). This variable's value determines whether or not libsystemd will be linked at build-time. If USE_SYSTEMD is set to "yes", make will use PKG_CONFIG to check for libsystemd's presence, and fail the build early if it isn't installed/detected properly. If USE_SYSTEM is set to "no", libsystemd will *not* be linked, even if support for it is available on the system redis is being built on. For any other value that USE_SYSTEM might assume (e.g. "auto"), PKG_CONFIG will try to determine libsystemd's presence, and set up the build process to link against it, if it was indicated as being installed/available. This approach has a number of repercussions of its own, most importantly the following: If you build redis on a system that actually has systemd support, but no libsystemd-dev package(s) installed, you'll end up *without* support for systemd notification/status reporting support in redis-server. This changes established runtime behaviour. I'm not sure if the build system and/or the server binary should indicate this. I'm also wondering if not actually having systemd-notify-support, but requesting it via the server's config, should result in a fatal error now.
-
- 16 Oct, 2019 1 commit
-
-
Yossi Gottlieb authored
-
- 07 Oct, 2019 2 commits
-
-
Yossi Gottlieb authored
Add configuration options for TLS protocol versions, ciphers/cipher suites selection, etc.
-
Yossi Gottlieb authored
* Introduce a connection abstraction layer for all socket operations and integrate it across the code base. * Provide an optional TLS connections implementation based on OpenSSL. * Pull a newer version of hiredis with TLS support. * Tests, redis-cli updates for TLS support.
-
- 04 Oct, 2019 1 commit
-
-
antirez authored
-
- 12 Sep, 2019 1 commit
-
-
antirez authored
memory.h include removed, types substituted with stdint types.
-
- 07 Jul, 2019 1 commit
-
-
Guy Korland authored
thanks to @rafie
-
- 29 Jun, 2019 1 commit
-
-
antirez authored
-
- 07 May, 2019 1 commit
-
-
zhaozhao.zz authored
-
- 06 May, 2019 1 commit
-
-
Ubuntu authored
Now threads are stopped even when the connections drop immediately to zero, not allowing the networking code to detect the condition and stop the threads. serverCron() will handle that.
-
- 07 Mar, 2019 1 commit
-
-
Brad Solomon authored
On `make uninstall`, removes: - /usr/local/bin/redis-benchmark - /usr/local/bin/redis-check-aof - /usr/local/bin/redis-check-rdb - /usr/local/bin/redis-cli - /usr/local/bin/redis-sentinel - /usr/local/bin/redis-server (Only the src/ versions are removed in `make clean`)
-
- 01 Mar, 2019 1 commit
-
-
artix authored
-
- 21 Feb, 2019 1 commit
-
-
antirez authored
-
- 09 Jan, 2019 1 commit
-
-
antirez authored
-
- 25 Nov, 2018 2 commits
-
-
David Carlier authored
Special treatment here as backtrace support is optional, cannot be found via pkg-config and similar neither.
-
David Carlier authored
FreeBSD/DragonFlyBSD does have backtrace only it does not belong to libc.
-
- 11 Nov, 2018 1 commit
-
-
David Carlier authored
-
- 08 Nov, 2018 1 commit
-
-
David Carlier authored
-
- 31 Oct, 2018 1 commit
-
-
David Carlier authored
-
- 30 Oct, 2018 3 commits
-
-
David Carlier authored
-
David Carlier authored
-
David Carlier authored
Some math functions require c11 standard.
-
- 19 Oct, 2018 1 commit
-
- 14 Sep, 2018 1 commit
-
-
antirez authored
-
- 12 Sep, 2018 1 commit
-
-
antirez authored
-
- 04 Jul, 2018 1 commit
-
-
antirez authored
-
- 25 May, 2018 2 commits
-
-
zhaozhao.zz authored
-
antirez authored
-
- 23 Apr, 2018 1 commit
-
-
artix authored
-