VictoriaMetrics, TimescaleDB ΠΈ InfluxDB Π±ΡΡ
Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈ Π²
ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π±Π΅ΡΠ΅ Π΅ΡΠ°ΡΠ° Π½Π° Zabbix. ΠΡΠ΅ΠΊΠΈ Π³ΠΎΠ» ΡΡΡΠ²ΡΡ ΠΈΠΌΠ°ΡΠ΅ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΎΡ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠ±Π΅ΡΠ°Ρ Π² 40 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ, Π° Zabbix ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° MySQL ΠΊΠ°ΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ π
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π΄ΠΈΠ½
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°? ΠΠ΅ΡΠΎΡΡΠ½ΠΎ 400K ΠΈΠ»ΠΈ 4M? ΠΠ»ΠΈ 40ΠΌ? ΠΠ΅ΠΊΠ° ΡΡΠ°Π²Π½ΠΈΠΌ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ TSDB Ρ ΡΠ΅Π·ΠΈ ΡΠΈΡΠ»Π°.
ΠΠ΅Π½ΡΠΌΠ°ΡΠΊ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ
-scale-var
). 10 Π΅ Π±ΡΠΎΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½ΠΈΡΡΠ° (ΠΌΠ΅ΡΡΠΈΠΊΠΈ), Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ Ρ
ΠΎΡΡ, ΡΡΡΠ²ΡΡ. Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° TSBS Π·Π° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·:
- 400K ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 60 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ ΡΠ΅Π»ΠΈ 3 Π΄Π½ΠΈ, ~1.7B ΠΎΠ±ΡΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
- 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 600 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ ΠΏΡΠ»Π½ΠΈ 3 Π΄Π½ΠΈ, ~1.7 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΠΎΠ±ΡΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
- 40 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ 1 ΡΠ°Ρ, Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ 3 ΠΏΡΠ»Π½ΠΈ Π΄Π½ΠΈ, ~2.8 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΠΎΠ±Ρ Π±ΡΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
ΠΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈ ΡΡΡΠ²ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Ρ
Π° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
- vCPU: 16
- RAM: 60 GB
- Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: Π‘ΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ 1TB HDD. Π’ΠΎΠΉ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° 120 Mbps ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅/Π·Π°ΠΏΠΈΡ, 750 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ 1,5K Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
TSDB Π±ΡΡ Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ ΠΎΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² Π΄ΠΎΠΊΠ΅Ρ ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
-
VictoriaMetrics:
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. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ:
- VictoriaMetrics: 2,6 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 3 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 965 MB
- InfluxDB: 1.2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 8.5 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 1.6 GB
- ΠΡΠ΅ΠΌΠ΅Π²Π° ΡΠΊΠ°Π»Π°: 849K ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 2,5 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 50 GB
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅, VictoriaMetrics ΠΏΠ΅ΡΠ΅Π»ΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²Π»ΠΎΠΆΠΊΠ°ΡΠ° ΠΈ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ. ΠΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ ΠΏΠ΅ΡΠ΅Π»ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ - 29 Π±Π°ΠΉΡΠ° Π½Π° ΡΠΎΡΠΊΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ.
ΠΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠΌΠ° Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° Π²ΡΡΠΊΠ° ΠΎΡ TSDB ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ°:
ΠΠΎ-Π³ΠΎΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°: VictoriaMetrics - Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» ΠΎΡ 400K.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: InfluxDB - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΏΡΠΈ ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π».
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΏΡΠΈ ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π».
VictoriaMetrics ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ vCPU, Π΄ΠΎΠΊΠ°ΡΠΎ InfluxDB ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ~2 ΠΎΡ 16 vCPU.
Timescale ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ 3-4 ΠΎΡ 16 vCPU. ΠΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΈ Π½Π° iowait ΠΈ system Π² Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° ΡΠΊΠ°Π»Π° Π½Π° TimescaleDB ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ (I/O). ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ°:
ΠΠΎ-Π³ΠΎΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°: VictoriaMetrics - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ 400K.
ΠΠΎ-Π³ΠΎΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°: InfluxDB - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ 400K.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΡΠΎΠ² Π΄ΠΈΡΠΊ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
VictoriaMetrics Π·Π°ΠΏΠΈΡΠ²Π° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈ 20Mbps Ρ ΠΏΠΈΠΊΠΎΠ²Π΅ Π΄ΠΎ 45Mbps. ΠΠΈΠΊΠΎΠ²Π΅ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΡΠ»ΠΈΠ²Π°Π½ΠΈΡ Π² Π΄ΡΡΠ²ΠΎΡΠΎ
InfluxDB Π·Π°ΠΏΠΈΡΠ²Π° Π΄Π°Π½Π½ΠΈ ΡΡΡ 160MB/s, Π΄ΠΎΠΊΠ°ΡΠΎ 1TB Π΄ΠΈΡΠΊ
TimescaleDB Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎ 120Mbps ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ, Π½ΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π½Π°ΡΡΡΠ°Π²Π° ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡΠΈΠ³Π° ΠΏΠΈΠΊ ΠΏΡΠΈ 220Mbps. Π’Π΅Π·ΠΈ ΠΏΠΈΠΊΠΎΠ²Π΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° ΡΠΏΠ°Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ°.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° I/O:
ΠΠΎ-Π³ΠΎΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°: VictoriaMetrics - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎ I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: InfluxDB - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎ I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎ I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π·Π° 400K ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π‘Π΅Π³Π° Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ TimescaleDB Π΄ΠΎΡΡΠΈΠ³Π° I/O Π»ΠΈΠΌΠΈΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ 12 vCPU.
4M ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ
4M Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»Π½ΠΎ. ΠΠΎ Π½Π°ΡΠΈΡΠ΅ ΡΡΡΡΠ΅Π·Π°ΡΠ΅Π»ΠΈ ΠΈΠ·Π΄ΡΡΠΆΠ°Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·ΠΈ ΠΈΠ·ΠΏΠΈΡ. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ:
- VictoriaMetrics: 2,2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 6 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 3 GB.
- InfluxDB: 330K ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 20,5 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 18,4 GB.
- TimescaleDB: 480K ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 2,5 GB; ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°: 52 GB.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° InfluxDB ΡΠΏΠ°Π΄Π½Π° ΠΎΡ 1,2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π·Π° 400K Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ Π΄ΠΎ 330K ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π·Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ. Π’ΠΎΠ²Π° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΡΠ°Π·ΠΈ Π·Π°Π³ΡΠ±Π°:
ΠΠΎ-Π³ΠΎΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°: VictoriaMetrics - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½Π° 4M Π²ΡΠ΅ΠΌΠ΅Π²Π° ΡΠ΅ΡΠΈΡ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: InfluxDB - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - ΠΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ 4M Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
VictoriaMetrics ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΡΠΈ ΡΡΠ»Π°ΡΠ° ΠΌΠΎΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° (CPU). ΠΠ°ΠΏΠΊΠ°ΡΠ° Π² ΠΊΡΠ°Ρ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΠΎΡΡΠ°Π²Π°ΡΠΈΡΠ΅ LSM ΡΠ»ΠΈΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ.
InfluxDB ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ 8 ΠΎΡ 16 vCPU, Π΄ΠΎΠΊΠ°ΡΠΎ TimsecaleDB ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° 4 ΠΎΡ 16 vCPU. ΠΠ°ΠΊΠ²ΠΎ Π΅ ΠΎΠ±ΡΠΎΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ? Π²ΠΈΡΠΎΠΊ Π΄ΡΠ» iowait
, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π²Ρ
ΠΎΠ΄Π½ΠΎ/ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠ΅.
TimescaleDB ΠΈΠΌΠ° Π²ΠΈΡΠΎΠΊ Π΄ΡΠ» system
. ΠΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΠΌΠΎΡΠ½ΠΎΡΡ Π΅ Π΄ΠΎΠ²Π΅Π»Π° Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π΄ΠΈΡΠΊΠ°:
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: VictoriaMetrics - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: InfluxDB - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
VictoriaMetrics Π΄ΠΎΡΡΠΈΠ³Π½Π° ΡΠ²ΠΎΡ Π²ΡΡΡ ΠΎΡ 120MB/s, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° Π·Π°ΠΏΠΈΡ Π±Π΅ΡΠ΅ 40MB/s. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ Π΅ ΠΈΠΌΠ°Π»ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΆΠΊΠΈ LSM ΡΠ»ΠΈΠ²Π°Π½ΠΈΡ, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΈΠΊΠ°.
InfluxDB ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈΠ·ΡΡΠΈΡΠΊΠ²Π° ΡΡΠ΅Π΄Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° Π·Π°ΠΏΠΈΡ ΠΎΡ 200MB/s Ρ ΠΏΠΈΠΊΠΎΠ²Π΅ Π΄ΠΎ 340MB/s Π½Π° Π΄ΠΈΡΠΊ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ ΠΎΡ 120MB/s :)
TimescaleDB Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΎΡ Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π²ΠΈΡΠΎΠΊΠΈΡ Π΄ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ
Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° IO:
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: VictoriaMetrics - I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° 4M ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: InfluxDB - I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΠΊΡΠ°Π½Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅: TimescaleDB - I/O ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π·Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° IO ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° - InfluxDB Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ IO, Π΄ΠΎΠΊΠ°ΡΠΎ VictoriaMetrics ΠΈ TimescaleDB ΠΈΠΌΠ°Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ IO IO ΡΠ΅ΡΡΡΡΠΈ.
40 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ
40 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ Π±ΡΡ Π° ΡΠ²ΡΡΠ΄Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π·Π° InfluxDB :)
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ:
- VictoriaMetrics: 1,7 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°; ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 29 GB; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 17 GB.
- InfluxDB: ΠΠ΅ Π·Π°Π²ΡΡΡΠΈ, Π·Π°ΡΠΎΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π½Π°Π΄ 60 GB RAM.
- TimescaleDB: 330K ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM: 2,5 GB; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 84GB.
TimescaleDB ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΡΠΊΠΎ ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RAM ΠΏΡΠΈ 2,5 GB - ΡΡΡΠΎΡΠΎ ΠΊΠ°ΡΠΎ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ 4M ΠΈ 400K.
VictoriaMetrics Π±Π°Π²Π½ΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠ΅ ΡΡΡ ΡΠΊΠΎΡΠΎΡΡ ΠΎΡ 100 40 ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄ΠΎΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈΡΠ΅ 1,5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π±ΡΡ Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½Π° ΡΠΊΠΎΡΠΎΡΡ Π½Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ ΠΎΡ 2,0-1,7 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΊΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π±Π΅ΡΠ΅ XNUMX ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
ΠΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π·Π° 40 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΠ΅Π·ΠΈ Π·Π° 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ΠΊΠ° Π³ΠΈ ΠΏΡΠΎΠΏΡΡΠ½Π΅ΠΌ.
ΠΠ°Π½Π½ΠΈ
- Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ TSDB ΡΠ° Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ. Π ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠ±ΡΠ΅ TSDB ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΈΠ·Π±ΠΎΡ Π²ΡΡΡ Ρ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ.
- ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° I/O ΠΏΡΠ΅ΡΠΊΠ°. ΠΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΡΠ²ΡΡΠ΄Π΅ Π³ΡΡΠ±ΠΎ, ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΈΡΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π°Π²Π΅Π΄Π½ΡΠΆ.
- I/O ΠΏΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² Π½Π΅-SSD Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΠ°ΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ.
- VictoriaMetrics ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π° Π±Π°Π²Π½ΠΎ, Π½ΠΈΡΠΊΠΎ I/O ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π’ΠΎΠΉ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΎΡΠΎ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
ΠΠ·ΡΠ΅Π³Π»ΠΈ
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° VictoriaMetrics Π² ΡΠΎΠ²Π°
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π°
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ #2: ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΡΠΎ
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ #3:
Π§Π°Ρ Π² Telegram:
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com