VictoriaMetrics, TimescaleDB рд░ InfluxDB рдорд╛ рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ
рдХреЗрд╣реА рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ Zabbix рдХреЛ рдПрдХ рдпреБрдЧ рдерд┐рдпреЛред рдкреНрд░рддреНрдпреЗрдХ рдмреЗрдпрд░ рдореЗрдЯрд▓ рд╕рд░реНрднрд░рдорд╛ рдХреЗрд╣рд┐ рд╕реВрдЪрдХрд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреА рдерд┐рдПрди - CPU рдЙрдкрдпреЛрдЧ, RAM рдЙрдкрдпреЛрдЧ, рдбрд┐рд╕реНрдХ рдкреНрд░рдпреЛрдЧ рд░ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдпреЛрдЧред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ, рд╣рдЬрд╛рд░реМрдВ рд╕рд░реНрднрд░рд╣рд░реВрдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ 40 рд╣рдЬрд╛рд░ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдорд╛ рдлрд┐рдЯ рд╣реБрди рд╕рдХреНрдЫ, рд░ Zabbix рд▓реЗ MySQL рд▓рд╛рдИ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫ :)
рд╣рд╛рд▓ рдПрдХреНрд▓реИ
рдпрд╕ рд╕рдордпрдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╣реЛ? рд╕рдореНрднрд╡рддрдГ 400K рд╡рд╛ 4M? рд╡рд╛ 40m? рдпреА рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрд╕рдБрдЧ рдЖрдзреБрдирд┐рдХ TSDB рд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реМрдВред
рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ
-scale-var
)ред 10 рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рд╡рд╛ рд╕рд░реНрднрд░рдорд╛ рдЙрддреНрдкрдиреНрди рдорд╛рдкрди (рдореЗрдЯреНрд░рд┐рдХреНрд╕) рдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред рдирд┐рдореНрди рдбреЗрдЯрд╛рд╕реЗрдЯрд╣рд░реВ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрдХреЛ рд▓рд╛рдЧрд┐ TSBS рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ:
- 400K рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реГрдЩреНрдЦрд▓рд╛, рдбреЗрдЯрд╛ рдмрд┐рдиреНрджреБрд╣рд░реВ рдмреАрдЪ 60 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рдЕрдиреНрддрд░рд╛рд▓, рдбреЗрдЯрд╛ рдкреВрд░реНрдг 3 рджрд┐рдирдорд╛ рдлреИрд▓рд┐рдПрдХреЛ рдЫ, ~1.7B рдбреЗрдЯрд╛ рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ред
- 4M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реГрдЩреНрдЦрд▓рд╛, 600 рд╕реЗрдХреЗрдиреНрдб рдЕрдиреНрддрд░рд╛рд▓, рдбреЗрдЯрд╛ 3 рдкреВрд░реНрдг рджрд┐рдирд╣рд░реВ рдлреИрд▓рд┐рдПрдХреЛ рдЫ, ~1.7B рдбреЗрдЯрд╛ рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ред
- 40M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реГрдЩреНрдЦрд▓рд╛, 1 рдШрдгреНрдЯрд╛ рдЕрдиреНрддрд░рд╛рд▓, рдбреЗрдЯрд╛ 3 рдкреВрд░рд╛ рджрд┐рди рдлреИрд▓рд┐рдПрдХреЛ рдЫ, ~2.8B рдбреЗрдЯрд╛ рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ред
рдЧреНрд░рд╛рд╣рдХ рд░ рд╕рд░реНрднрд░ рд╕рдорд░реНрдкрд┐рдд рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдерд┐рдпреЛ
- vCPUs: резрем
- рд░реНрдпрд╛рдо: GB рдЬреАрдмреА
- рднрдгреНрдбрд╛рд░рдг: рдорд╛рдирдХ 1TB HDDред рдпрд╕рд▓реЗ 120 Mbps рд░рд┐рдб/рд░рд╛рдЗрдЯ рдереНрд░реБрдкреБрдЯ, 750 рд░рд┐рдб рдЕрдкрд░реЗрд╢рди рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб рд░ 1,5K рд░рд╛рдЗрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
TSDB рд╣рд░реВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВрдмрд╛рдЯ рдирд┐рдХрд╛рд▓рд┐рдПрдХрд╛ рдерд┐рдП рд░ рдирд┐рдореНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрд╕рдБрдЧ рдбрдХрд░рдорд╛ рдЪрд▓рд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ:
-
рднрд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕:
docker run -it --rm -v /mnt/disks/storage/vmetrics-data:/victoria-metrics-data -p 8080:8080 valyala/victoria-metrics
-
рдЙрдЪреНрдЪ рд╢рдХреНрддрд┐рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди InfluxDB (-e) рдорд╛рдирд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫрдиреНред рд╡рд┐рд╡рд░рдгрд╣рд░реВ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН
рдХрд╛рдЧрдЬрд╛рдд ):docker run -it --rm -p 8086:8086 -e INFLUXDB_DATA_MAX_VALUES_PER_TAG=4000000 -e INFLUXDB_DATA_CACHE_MAX_MEMORY_SIZE=100g -e INFLUXDB_DATA_MAX_SERIES_PER_DATABASE=0 -v /mnt/disks/storage/influx-data:/var/lib/influxdb influxdb
-
TimescaleDB (рдмрд╛рдЯ рд▓рд┐рдЗрдПрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди
рдпрд╕рд▓рд╛рдИ рдлрд╛рдЗрд▓):
MEM=`free -m | grep "Mem" | awk тАШ{print $7}тАЩ`
let "SHARED=$MEM/4"
let "CACHE=2*$MEM/3"
let "WORK=($MEM-$SHARED)/30"
let "MAINT=$MEM/16"
let "WAL=$MEM/16"
docker run -it тАФ rm -p 5432:5432
--shm-size=${SHARED}MB
-v /mnt/disks/storage/timescaledb-data:/var/lib/postgresql/data
timescale/timescaledb:latest-pg10 postgres
-cmax_wal_size=${WAL}MB
-clog_line_prefix="%m [%p]: [%x] %u@%d"
-clogging_collector=off
-csynchronous_commit=off
-cshared_buffers=${SHARED}MB
-ceffective_cache_size=${CACHE}MB
-cwork_mem=${WORK}MB
-cmaintenance_work_mem=${MAINT}MB
-cmax_files_per_process=100
рдбрд╛рдЯрд╛ рд▓реЛрдбрд░ резрем рд╕рдорд╛рдирд╛рдиреНрддрд░ рдереНрд░реЗрдбрд╣рд░реВрд╕рдБрдЧ рдЪрд▓рд╛рдЗрдПрдХреЛ рдерд┐рдпреЛред
рдпреЛ рд▓реЗрдЦрд▓реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдЫрдиреМрдЯ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрдХреЛ рдирддрд┐рдЬрд╛ рдЫреБрдЯреНрдЯреИ рд▓реЗрдЦрдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдиреЗрдЫред
400K рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛
рд╕рд╛рдзрд╛рд░рдг рддрддреНрд╡рд╣рд░реВрд╕рдБрдЧ рд╕реБрд░реБ рдЧрд░реМрдВ - 400Kред рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо:
- VictoriaMetrics: 2,6M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 3 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 965 рдПрдордмреА
- InfluxDB: 1.2M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 8.5 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 1.6 GB
- рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓: 849K рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 2,5 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 50 рдЬреАрдмреА
рддрдкрд╛рдИрд▓реЗ рдорд╛рдерд┐рдХреЛ рдирддрд┐рдЬрд╛рдмрд╛рдЯ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рднрд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕рд▓реЗ рд╕рдореНрдорд┐рд▓рди рдкреНрд░рджрд░реНрд╢рди рд░ рдХрдореНрдкреНрд░реЗрд╕рди рдЕрдиреБрдкрд╛рддрдорд╛ рдЬрд┐рддреНрдЫред рдЯрд╛рдЗрдорд▓рд╛рдЗрдирд▓реЗ RAM рдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдЬрд┐рддреНрдЫ, рддрд░ рдпрд╕рд▓реЗ рдзреЗрд░реИ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ - 29 рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯред
рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрдХреЛ рд╕рдордпрдорд╛ рдкреНрд░рддреНрдпреЗрдХ TSDB рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ CPU рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд╣рд░реВ рддрд▓ рдЫрдиреН:
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп 400K рдореЗрдЯреНрд░рд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рд╕рдордпрдорд╛ CPU рд▓реЛрдбред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХ 400K рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ CPU рд▓реЛрдбред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - 400K рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ CPU рд▓реЛрдбред
VictoriaMetrics рд▓реЗ рд╕рдмреИ рдЙрдкрд▓рдмреНрдз vCPUs рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ, рдЬрдмрдХрд┐ InfluxDB рд▓реЗ резрем vCPU рд╣рд░реВ рдордзреНрдпреЗ ~2 рдХреЛ рдХрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫред
Timescale 3 vCPU рд╣рд░реВ рдордзреНрдпреЗ 4-16 рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред TimescaleDB рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓ рдЧреНрд░рд╛рдлрдорд╛ iowait рд░ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЙрдЪреНрдЪ рдЕрдиреБрдкрд╛рддрд▓реЗ рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ (I/O) рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЕрд╡рд░реЛрдз рджреЗрдЦрд╛рдЙрдБрдЫред рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд╣рд░реВ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ 400K рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдорд╛ рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ 400K рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдорд╛ рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ 400K рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдорд╛ рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧред
VictoriaMetrics рд▓реЗ 20 Mbps рдорд╛ 45 Mbps рд╕рдореНрдордХреЛ рдЪреБрдЪреБрд░реЛрдорд╛ рдбрд╛рдЯрд╛ рд░реЗрдХрд░реНрдб рдЧрд░реНрдЫред рд╢рд┐рдЦрд░рд╣рд░реВ рд░реВрдЦрдорд╛ рдареВрд▓реЛ рдЖрдВрд╢рд┐рдХ рд╡рд┐рд▓рдпрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ
InfluxDB рд▓реЗ 160 MB/s рдорд╛ рдбреЗрдЯрд╛ рд▓реЗрдЦреНрдЫ, рдЬрдмрдХрд┐ 1 TB рдбреНрд░рд╛рдЗрдн
TimescaleDB 120 Mbps рд▓реЗрдЦрди рдереНрд░реБрдкреБрдЯрдорд╛ рд╕реАрдорд┐рдд рдЫ, рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпрд╕рд▓реЗ рдпреЛ рд╕реАрдорд╛ рддреЛрдбреНрдЫ рд░ рд╢рд┐рдЦрд░ рдорд╛рдирд╣рд░реВрдорд╛ 220 Mbps рдкреБрдЧреНрдЫред рдпреА рдЪреБрдЪреБрд░рд╛рд╣рд░реВ рдЕрдШрд┐рд▓реНрд▓реЛ рдЧреНрд░рд╛рдлрдорд╛ рдЕрдкрд░реНрдпрд╛рдкреНрдд CPU рдЙрдкрдпреЛрдЧрдХреЛ рдЙрдкрддреНрдпрдХрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫред
рдЖрдЙрдиреБрд╣реЛрд╕реН рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ (I/O) рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд╣рд░реВ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - 400K рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг I/O рдкреНрд░рдпреЛрдЧ рдШреБрд╕рд╛рдЙрдиреБрд╣реЛрд╕реНред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - 400K рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг I/O рдкреНрд░рдпреЛрдЧ рдШреБрд╕рд╛рдЙрдиреБрд╣реЛрд╕реНред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - 400K рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг I/O рдкреНрд░рдпреЛрдЧ рдШреБрд╕рд╛рдЙрдиреБрд╣реЛрд╕реНред
рдпреЛ рдЕрдм рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ TimescaleDB рдпрд╕рдХреЛ I/O рд╕реАрдорд╛рдорд╛ рдкреБрдЧреЗрдХреЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рд▓реЗ рдмрд╛рдБрдХреА 12 vCPUs рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрджреИрдиред
4M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛
4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЕрд▓рд┐ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рджреЗрдЦрд┐рдиреНрдЫред рддрд░ рд╣рд╛рдореНрд░рд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреАрд╣рд░реВрд▓реЗ рдпреЛ рдкрд░реАрдХреНрд╖рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд╕ рдЧрд░реНрдЫрдиреНред рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо:
- VictoriaMetrics: 2,2M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 6 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 3 рдЬреАрдмреАред
- InfluxDB: 330K рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 20,5 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 18,4 GBред
- TimescaleDB: 480K рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 2,5 GB; рдбрд┐рд╕реНрдХрдорд╛ рдЕрдиреНрддрд┐рдо рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ: 52 рдЬреАрдмреАред
InfluxDB рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди 1,2K рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ 400M рдбреЗрдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдбрдмрд╛рдЯ 330M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ 4K рдбреЗрдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдШрдЯреНрдпреЛред рдпреЛ рдЕрдиреНрдп рдкреНрд░рддрд┐рдпреЛрдЧреАрд╣рд░реВрдХреЛ рддреБрд▓рдирд╛рдорд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рдирд┐ рд╣реЛред рдпрд╕ рд╣рд╛рдирд┐рдХреЛ рдореВрд▓ рдХрд╛рд░рдг рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ CPU рдкреНрд░рдпреЛрдЧ рдЧреНрд░рд╛рдлрд╣рд░реВ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд▓рд╛рдЧреА рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдордпрдорд╛ CPU рдЙрдкрдпреЛрдЧред
рдорд╛рдерд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд▓рд╛рдЧреА рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдордпрдорд╛ CPU рдЙрдкрдпреЛрдЧред
рдорд╛рдерд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд▓рд╛рдЧреА рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдордпрдорд╛ CPU рдЙрдкрдпреЛрдЧред
VictoriaMetrics рд▓реЗ рд▓рдЧрднрдЧ рд╕рдмреИ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдпреБрдирд┐рдЯ (CPU) рдкрд╛рд╡рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рд╕рдмреИ рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ рдЕрдиреНрддреНрдпрдорд╛ рдбреНрд░рдк рдмрд╛рдБрдХреА LSM рдорд░реНрдЬрд╣рд░реВрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫред
InfluxDB рд▓реЗ 8 vCPU рд╣рд░реВ рдордзреНрдпреЗ 16 рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрдмрдХрд┐ TimsecaleDB рд▓реЗ 4 vCPU рд╣рд░реВ рдордзреНрдпреЗ 16 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЧреНрд░рд╛рдлрд╣рд░реВ рдХреЗ рд╕рдорд╛рди рдЫрдиреН? рдЙрдЪреНрдЪ рд╢реЗрдпрд░ iowait
, рдЬрд╕рд▓реЗ рдлреЗрд░рд┐ I/O рдмрд╛рдзрд╛рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред
TimescaleDB рдХреЛ рдЙрдЪреНрдЪ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЫ system
ред рд╣рд╛рдореА рдорд╛рдиреНрджрдЫреМрдВ рдХрд┐ рдЙрдЪреНрдЪ рд╢рдХреНрддрд┐рд▓реЗ рдзреЗрд░реИ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рд╡рд╛ рдзреЗрд░реИрдорд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдиреНрдЫ
рдбрд┐рд╕реНрдХ рдереНрд░реБрдкреБрдЯ рдЧреНрд░рд╛рдлрд╣рд░реВ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - 4M рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - 4M рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - 4M рдЕрджреНрд╡рд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
VictoriaMetrics рд╢рд┐рдЦрд░рдорд╛ 120 MB/s рдХреЛ рд╕реАрдорд╛ рдкреБрдЧреНрдпреЛ, рдЬрдмрдХрд┐ рдФрд╕рдд рд▓реЗрдЦрди рдЧрддрд┐ 40 MB/s рдерд┐рдпреЛред рд╢рд┐рдЦрд░рдХреЛ рд╕рдордпрдорд╛ рдзреЗрд░реИ рднрд╛рд░реА LSM рдлреНрдпреБрдЬрдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХреЛ рд╣реБрди рд╕рдХреНрдЫред
InfluxDB рд▓реЗ 200 MB/s рдХреЛ рд▓реЗрдЦрди рд╕реАрдорд╛рдХреЛ рд╕рд╛рде рдбрд┐рд╕реНрдХрдорд╛ 340 MB/s рд╕рдореНрдордХреЛ рд╢рд┐рдЦрд░рд╣рд░реВ рд╕рд╣рд┐рдд 120 MB/s рдХреЛ рдФрд╕рдд рд▓реЗрдЦрди рдереНрд░реБрдкреБрдЯрд▓рд╛рдИ рдлреЗрд░рд┐ рдирд┐рдЪреЛрдб рдЧрд░реНрдЫ :)
TimescaleDB рдЕрдм рдбрд┐рд╕реНрдХ рд╕реАрдорд┐рдд рдЫреИрдиред рдпреЛ рдЙрдЪреНрдЪ рдЕрдиреБрдкрд╛рдд рд╕рдВрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЗрд╣рд┐ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рджреЗрдЦрд┐рдиреНрдЫ ╤Б╨╕╤Б╤В╨╡╨╝╨╜╨╛╨╣
CPU рд▓реЛрдбред
IO рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд╣рд░реВ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: VictoriaMetrics - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рд╕рдордпрдорд╛ I/O рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: InfluxDB - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рд╕рдордпрдорд╛ I/O рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рдЫ: TimescaleDB - рдЕрджреНрд╡рд┐рддреАрдп 4M рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдорд┐рд▓рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ I/O рдкреНрд░рдпреЛрдЧред
IO рдЙрдкрдпреЛрдЧ рдврд╛рдБрдЪрд╛рд╣рд░реВрд▓реЗ рдбрд┐рд╕реНрдХ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рдердХреЛ рджрд░реНрдкрдг рдЧрд░реНрджрдЫ - InfluxDB IO рд╕реАрдорд┐рдд рдЫ, рдЬрдмрдХрд┐ VictoriaMetrics рд░ TimescaleDB рд╕рдБрдЧ рдЕрддрд┐рд░рд┐рдХреНрдд IO рд╕реНрд░реЛрддрд╣рд░реВ рдЫрдиреНред
40M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛
40M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ InfluxDB рдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдареВрд▓реЛ рдерд┐рдпреЛ :)
рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо:
- VictoriaMetrics: 1,7M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб; RAM рдЙрдкрдпреЛрдЧ: 29 GB; рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдЙрдкрдпреЛрдЧ: 17 GBред
- InfluxDB: рд╕рдорд╛рдкреНрдд рднрдПрди рдХрд┐рдирднрдиреЗ рдпрд╕рд▓рд╛рдИ 60GB рднрдиреНрджрд╛ рдмрдвреА RAM рдЪрд╛рд╣рд┐рдиреНрдЫред
- TimescaleDB: 330K рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб, RAM рдЙрдкрдпреЛрдЧ: 2,5 GB; рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдЙрдкрдпреЛрдЧ: 84GBред
TimescaleDB рд▓реЗ 2,5 GB рдорд╛ рдЕрд╕рд╛рдзрд╛рд░рдг рд░реВрдкрдорд╛ рдХрдо рд░ рд╕реНрдерд┐рд░ RAM рдкреНрд░рдпреЛрдЧ рджреЗрдЦрд╛рдЙрдБрдЫ - рдЕрджреНрд╡рд┐рддреАрдп 4M рд░ 400K рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╕реНрддреИред
рд╕рдмреИ 100M рдЯреНрдпрд╛рдЧ рдЧрд░рд┐рдПрдХрд╛ рдореЗрдЯреНрд░рд┐рдХ рдирд╛рдорд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдирдЧрд░реЗрд╕рдореНрдо VictoriaMetrics рд▓реЗ рдмрд┐рд╕реНрддрд╛рд░реИ 40k рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдбрдХреЛ рджрд░рдорд╛ рдорд╛рдкрди рдЧрд░реНрдпреЛред рддреНрдпрд╕рдкрдЫрд┐ рдЙрд╕рд▓реЗ 1,5-2,0M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдбрдХреЛ рдирд┐рд░рдиреНрддрд░ рд╕рдореНрдорд┐рд▓рди рджрд░ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрдпреЛ, рддреНрдпрд╕реИрд▓реЗ рдЕрдиреНрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб 1,7M рдбрд╛рдЯрд╛ рдкреЛрдЗрдиреНрдЯ рдерд┐рдпреЛред
40M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЧреНрд░рд╛рдлрд╣рд░реВ 4M рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЧреНрд░рд╛рдлрд╣рд░реВ рдЬрд╕реНрддреИ рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЫреЛрдбреМрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
- рдЖрдзреБрдирд┐рдХ TSDB рд╣рд░реВ рдПрдХрд▓ рд╕рд░реНрднрд░рдорд╛ рд▓рд╛рдЦреМрдВ рдЕрджреНрд╡рд┐рддреАрдп рдЯрд╛рдЗрдо рд╢реГрдЩреНрдЦрд▓рд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЗрдиреНрд╕рд░реНрдЯрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫрдиреНред рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛, рд╣рд╛рдореА рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗрдЫреМрдВ рдХрд┐ TSDBs рд▓реЗ рд▓рд╛рдЦреМрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдордп рд╢реГрдЩреНрдЦрд▓рд╛рд╣рд░реВрдорд╛ рдЪрдпрди рдХрд╕рд░реА рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред
- рдЕрдкрд░реНрдпрд╛рдкреНрдд CPU рдЙрдкрдпреЛрдЧрд▓реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ I/O рдЕрд╡рд░реЛрдзрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рдпреЛ рдкрдирд┐ рд╕рдВрдХреЗрдд рдЧрд░реНрди рд╕рдХреНрдЫ рдХрд┐ рдмреНрд▓рдХрд┐рдЩ рдПрдХрджрдореИ рдореЛрдЯреЛ рдЫ, рдХреЗрд╡рд▓ рдХреЗрд╣рд┐ рдереНрд░реЗрдбрд╣рд░реВ рдПрдХ рдкрдЯрдХрдорд╛ рдЪрд▓реНрди рд╕рдХреНрд╖рдо рдЫрдиреНред
- I/O рдмрдЯрд▓рдиреЗрдХ рдЕрд╡рд╕реНрдерд┐рдд рдЫ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЧреИрд░-рдПрд╕рдПрд╕рдбреА рднрдгреНрдбрд╛рд░рдгрдорд╛ рдЬрд╕реНрддреИ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдмреНрд▓рдХ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ред
- VictoriaMetrics рд▓реЗ рдврд┐рд▓реЛ, рдХрдо I/O рднрдгреНрдбрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрддрдо рдЕрдиреБрдХреВрд▓рди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рдЙрддреНрддрдо рдЧрддрд┐ рд░ рдЙрддреНрддрдо рдХрдореНрдкреНрд░реЗрд╕рди рдЕрдиреБрдкрд╛рдд рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдпрд╕рдорд╛ VictoriaMetrics рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдкрдвреНрдиреБрд╣реЛрд╕реН
рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ: рдкреНрд░рдХрд╛рд╢рд┐рдд
рдЕрдкрдбреЗрдЯ #2: рдпреЛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН
рдЕрдкрдбреЗрдЯ #3:
рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреНрдпрд╛рдЯ:
рд╕реНрд░реЛрдд: www.habr.com