VictoriaMetrics, TimescaleDB рдЖрдгрд┐ InfluxDB рдордзреНрдпреЗ рддреБрд▓рдирд╛ рдХреЗрд▓реА рдЧреЗрд▓реА
рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдЭрдмреНрдмреАрдХреНрд╕рдЪреЗ рдпреБрдЧ рд╣реЛрддреЗ. рдкреНрд░рддреНрдпреЗрдХ рдмреЗрдЕрд░ рдореЗрдЯрд▓ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдХрд╛рд╣реА рдирд┐рд░реНрджреЗрд╢рдХрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдирд╛рд╣реА - CPU рд╡рд╛рдкрд░, RAM рд╡рд╛рдкрд░, рдбрд┐рд╕реНрдХ рд╡рд╛рдкрд░ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рдкрд░. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╣рдЬрд╛рд░реЛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдореЗрдЯреНрд░рд┐рдХреНрд╕ 40 рд╣рдЬрд╛рд░ рдпреБрдирд┐рдХ рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрдордзреНрдпреЗ рдмрд╕реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ Zabbix MySQL рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬ рдбреЗрдЯрд╛рд╕рд╛рдареА рдмреЕрдХрдПрдВрдб рдореНрд╣рдгреВрди рд╡рд╛рдкрд░реВ рд╢рдХрддреЗ :)
рд╕рдзреНрдпрд╛ рдПрдХрдЯрд╛
рдпрд╛рдХреНрд╖рдгреА рдЕрдирдиреНрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХреЗрдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрд┐рддреА рдЖрд╣реЗ? рдХрджрд╛рдЪрд┐рдд 400K рдХрд┐рдВрд╡рд╛ 4M? рдХрд┐рдВрд╡рд╛ 40 рдореА? рдЪрд▓рд╛ рдЖрдзреБрдирд┐рдХ TSDB рдЪреА рдпрд╛ рд╕рдВрдЦреНрдпрд╛рдВрд╢реА рддреБрд▓рдирд╛ рдХрд░реВрдпрд╛.
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ
-scale-var
). 10 рд╣реА рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЛрдЬрдорд╛рдкрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ (рдореЗрдЯреНрд░рд┐рдХреНрд╕) рдЖрд╣реЗ. рдмреЗрдВрдЪрдорд╛рд░реНрдХрд╕рд╛рдареА TSBS рд╡рд╛рдкрд░реВрди рдЦрд╛рд▓реАрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ:
- 400K рдпреБрдирд┐рдХ рдЯрд╛рдИрдо рд╕рд┐рд░реАрдЬ, рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕рдордзреАрд▓ 60 рд╕реЗрдХрдВрджрд╛рдЪрд╛ рдЕрдВрддрд░рд╛рд▓, рдбреЗрдЯрд╛ рд╕рдВрдкреВрд░реНрдг 3 рджрд┐рд╡рд╕рд╛рдВрдЪрд╛ рдЖрд╣реЗ, ~1.7B рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕рдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛.
- 4M рдЕрджреНрд╡рд┐рддреАрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХрд╛, 600 рд╕реЗрдХрдВрдж рдЕрдВрддрд░рд╛рд▓, рдбреЗрдЯрд╛ 3 рдкреВрд░реНрдг рджрд┐рд╡рд╕рд╛рдВрдЪрд╛ рдЖрд╣реЗ, рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕рдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛ ~1.7B.
- 40M рдЕрдирдиреНрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХрд╛, 1 рддрд╛рд╕рд╛рдЪрд╛ рдЕрдВрддрд░рд╛рд▓, рдбреЗрдЯрд╛ 3 рдкреВрд░реНрдг рджрд┐рд╡рд╕рд╛рдВрдЪрд╛ рдЖрд╣реЗ, ~2.8B рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕рдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛.
рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рд╕рдорд░реНрдкрд┐рдд рдЙрджрд╛рд╣рд░рдгрд╛рдВрд╡рд░ рдЪрд╛рд▓реВ рд╣реЛрддреЗ
- vCPUs: 16
- рд░реЕрдо: 60 рдЬреАрдмреА
- рд╕реНрдЯреЛрд░реЗрдЬ: рдорд╛рдирдХ 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
рдбреЗрдЯрд╛ рд▓реЛрдбрд░ 16 рд╕рдорд╛рдВрддрд░ рдереНрд░реЗрдбрд╕рд╣ рдЪрд╛рд▓рд╡рд┐рд▓рд╛ рдЧреЗрд▓рд╛.
рдпрд╛ рд▓реЗрдЦрд╛рдд рдлрдХреНрдд рдЗрдиреНрд╕рд░реНрдЯреЗрд╢рди рдмреЗрдВрдЪрдорд╛рд░реНрдХрдЪреЗ рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗрдд. рдирд┐рд╡рдбрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХрдЪреЗ рдирд┐рдХрд╛рд▓ рд╡реЗрдЧрд│реНрдпрд╛ рд▓реЗрдЦрд╛рдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.
400K рдЕрджреНрд╡рд┐рддреАрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХрд╛
рдЪрд▓рд╛ рд╕рд╛рдзреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрдпрд╛ - 400K. рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо:
- рд╡реНрд╣рд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕: 2,6M рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 3 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 965 рдПрдордмреА
- InfluxDB: 1.2M рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 8.5 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 1.6 GB
- рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓: 849K рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 2,5 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 50 рдЬреАрдмреА
рд╡рд░реАрд▓ рдкрд░рд┐рдгрд╛рдорд╛рдВрд╡рд░реВрди рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, рд╡реНрд╣рд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЗрдиреНрд╕рд░реНрдЯреЗрд╢рди рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдЖрдгрд┐ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд░реЗрд╢реЛрдордзреНрдпреЗ рдЬрд┐рдВрдХрддреЗ. рд░реЕрдо рд╡рд╛рдкрд░рд╛рдордзреНрдпреЗ рдЯрд╛рдЗрдорд▓рд╛рдЗрди рдЬрд┐рдВрдХрддреЗ, рдкрд░рдВрддреБ рддреА рднрд░рдкреВрд░ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рд╡рд╛рдкрд░рддреЗ - 29 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддрд┐ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯ.
рдЦрд╛рд▓реА рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд░рдореНрдпрд╛рди рдкреНрд░рддреНрдпреЗрдХ TSDB рд╕рд╛рдареА CPU рд╡рд╛рдкрд░ рдЖрд▓реЗрдЦ рдЖрд╣реЗрдд:
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: VictoriaMetrics - рдЕрдирдиреНрдп 400K рдореЗрдЯреНрд░рд┐рдХрд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди CPU рд▓реЛрдб.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рдЕрдирдиреНрдп рдореЗрдЯреНрд░рд┐рдХ 400K рд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди InfluxDB - CPU рд▓реЛрдб.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: 400K рдЪреНрдпрд╛ рдЕрдирдиреНрдп рдореЗрдЯреНрд░рд┐рдХрд╕рд╛рдареА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди TimescaleDB - CPU рд▓реЛрдб.
VictoriaMetrics рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз vCPUs рд╡рд╛рдкрд░рддреЗ, рддрд░ InfluxDB 2 vCPU рдкреИрдХреА ~16 рдХрдореА рд╡рд╛рдкрд░рддреЗ.
рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓ 3 рдкреИрдХреА рдлрдХреНрдд 4-16 vCPU рд╡рд╛рдкрд░рддреЗ. TimescaleDB рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓ рдЖрд▓реЗрдЦрд╛рдордзреНрдпреЗ iowait рдЖрдгрд┐ рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдЙрдЪреНрдЪ рдкреНрд░рдорд╛рдг рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ (I/O) рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдЕрдбрдерд│реЗ рджрд░реНрд╢рд╡рддреЗ. рдЪрд▓рд╛ рдбрд┐рд╕реНрдХ рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдкрд░ рдЖрд▓реЗрдЦ рдкрд╛рд╣реВ:
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: VictoriaMetrics - Unique Metrics 400K рд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЯреЗрд╕реНрдЯрдордзреНрдпреЗ рдбрд┐рд╕реНрдХ рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдкрд░.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: InfluxDB - рдЕрдирдиреНрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ 400K рд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЯреЗрд╕реНрдЯрд╡рд░ рдбрд┐рд╕реНрдХ рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдкрд░.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓рдбреАрдмреА - рдпреБрдирд┐рдХ рдореЗрдЯреНрд░рд┐рдХреНрд╕ 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 рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 6 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 3 рдЬреАрдмреА.
- InfluxDB: 330K рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 20,5 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 18,4 рдЬреАрдмреА.
- TimescaleDB: 480K рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 2,5 рдЬреАрдмреА; рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдЖрдХрд╛рд░: 52 рдЬреАрдмреА.
InfluxDB рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди 1,2K рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрд╕рд╛рдареА 400M рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрджрд╛рд╡рд░реВрди 330M рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрд╕рд╛рдареА 4K рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрджрд╛рд╡рд░ рдШрд╕рд░рд▓реЗ. рдЗрддрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреНрдпрд╛рдВрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рд╣реЗ рд▓рдХреНрд╖рдгреАрдп рдХрд╛рдордЧрд┐рд░реАрдЪреЗ рдиреБрдХрд╕рд╛рди рдЖрд╣реЗ. рдпрд╛ рдиреБрдХрд╕рд╛рдирд╛рдЪреЗ рдореВрд│ рдХрд╛рд░рдг рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА CPU рд╡рд╛рдкрд░ рдЖрд▓реЗрдЦ рдкрд╛рд╣реВ:
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рд╡реНрд╣рд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕ - рдЕрдирдиреНрдп 4M рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди CPU рд╡рд╛рдкрд░.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рдЕрдирдиреНрдп 4M рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди InfluxDB - CPU рд╡рд╛рдкрд░.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓рдбреАрдмреА - рдЕрдирдиреНрдп 4M рдЯрд╛рдЗрдо рд╕реАрд░рд┐рдЬрд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрдЯреЗрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди CPU рд╡рд╛рдкрд░.
VictoriaMetrics рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдпреБрдирд┐рдЯ (CPU) рдкреЙрд╡рд░ рд╡рд╛рдкрд░рддреЗ. рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рдЯрд╛рдХрд▓реНрдпрд╛рдирдВрддрд░ рд╢реЗрд╡рдЯреА рдбреНрд░реЙрдк рдЙрд░реНрд╡рд░рд┐рдд LSM рд╡рд┐рд▓реАрдиреАрдХрд░рдгрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ.
InfluxDB 8 рдкреИрдХреА рдлрдХреНрдд 16 vCPU рд╡рд╛рдкрд░рддреЗ, рддрд░ TimsecaleDB 4 рдкреИрдХреА 16 vCPU рд╡рд╛рдкрд░рддреЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ рдХрд╛рдп рд╕рд╛рдореНрдп рдЖрд╣реЗ? рдЙрдЪреНрдЪ рд╡рд╛рдЯрд╛ 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 рд╡рд╛рдкрд░рдгреЗ.
рд╡рд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗ: рдЯрд╛рдЗрдорд╕реНрдХреЗрд▓рдбреАрдмреА - рдЕрдирдиреНрдп 4M рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╕рд╛рдареА рдЗрдиреНрд╕рд░реНрд╢рди рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди I/O рд╡рд╛рдкрд░.
IO рд╡рд╛рдкрд░рд╛рдЪреЗ рдирдореБрдиреЗ рдбрд┐рд╕реНрдХ рдмрдБрдбрд╡рд┐рдбреНрдердЪреЗ рдорд┐рд░рд░ рдХрд░рддрд╛рдд - InfluxDB IO рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ, рддрд░ VictoriaMetrics рдЖрдгрд┐ TimescaleDB рдХрдбреЗ рдЕрддрд┐рд░рд┐рдХреНрдд IO рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд.
40M рдЕрджреНрд╡рд┐рддреАрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХрд╛
InfluxDB рд╕рд╛рдареА 40M рдЕрджреНрд╡рд┐рддреАрдп рд╡реЗрд│ рдорд╛рд▓рд┐рдХрд╛ рдЦреВрдк рдореЛрдареА рд╣реЛрддреА :)
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо:
- рд╡реНрд╣рд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕: 1,7M рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж; рд░реЕрдо рд╡рд╛рдкрд░: 29 рдЬреАрдмреА; рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рд╡рд╛рдкрд░: 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