βΉοΈ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.6 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://habr.com/ru/companies/etpgpb_vesna/articles/946000/ |
| Last Crawled | 2026-03-28 11:09:16 (19 days ago) |
| First Indexed | 2025-09-11 10:35:11 (7 months ago) |
| HTTP Status Code | 200 |
| Meta Title | ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠΊΠ΅Π½Π΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ClickHouse ΠΈ Grafana. Π§Π°ΡΡΡ 3 / Π₯Π°Π±Ρ |
| Meta Description | Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 1 Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 2 ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π― ΠΡΡΡΠΌ Π‘Π΅Π΄ΡΡ , ΡΠ°Π±ΠΎΡΠ°Ρ Π²Π΅Π΄ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎΠ΅ΠΊΡΡ ΡΠΆΠ΅ Π΄Π΅Π²ΡΡΡΠΉ Π³ΠΎΠ΄, Π½Π°ΠΊΠΎΠΏΠΈΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ... |
| Meta Canonical | null |
| Boilerpipe Text | Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 1
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 2
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π― ΠΡΡΡΠΌ Π‘Π΅Π΄ΡΡ
, ΡΠ°Π±ΠΎΡΠ°Ρ Π²Π΅Π΄ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎΠ΅ΠΊΡΡ ΡΠΆΠ΅ Π΄Π΅Π²ΡΡΡΠΉ Π³ΠΎΠ΄, Π½Π°ΠΊΠΎΠΏΠΈΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄Π° Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΎ Π½Π°Ρ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±ΡΠΊΠ΅Π½Π΄Π° PHP Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅Π΄Π°ΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΈΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ, ΡΡΡΠ»ΠΊΠΈ Π²ΡΡΠ΅. Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π² ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ devops Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
SLI/Apdex, ΠΏΠΎΠΊΠΎΠ»Π΄ΡΠ΅ΠΌ Π½Π°Π΄ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (ΡΡΠ±ΡΠΈΠΊΠ° Β«ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡΒ»), ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΡ
Grafana. ΠΡΠ΅Π½ΠΈΠΌ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΡΡ. ΠΠ°Π²Π°ΡΠΈΠ²Π°ΠΉΡΠ΅ Π»ΡΠ±ΠΈΠΌΡΠΉ Π½Π°ΠΏΠΈΡΠΎΠΊ, ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ!
Π Π°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠ΅ΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ parameters.
ΠΡΡΠ»Π΅Π΄ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ»Ρ Π»ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π’ΡΡ ΡΠΆΠ΅ Π²ΡΡΡΠΏΠ°Π΅Ρ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π° Π²ΡΡ Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΡΠΆΠ΅Π»ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π’ΠΠΠΎΠ², Π·Π΄Π΅ΡΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ½ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ. ΠΠ° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π΅ΡΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ Π½ΠΈΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ. Π§Π°ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: Π΅ΡΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
Π²ΠΈΠ΄Π½ΠΎ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ, ΡΡΠΎΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ.
ΠΠ°ΡΠ±ΠΎΡΠ΄ SLI ΠΈ Apdex
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ devops ΠΏΠ΅ΡΠ²ΠΎΠ΅, Π½Π° ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ SRE (Site Reliability Engineering) Π²ΡΠΎΠ΄Π΅
SLI
ΠΈ
Apdex
ΠΏΠΎ ΡΠ΅ΡΠΊΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π³Π° ΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π² ClickHouse ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ β ΡΠ°Π±Π»ΠΈΡΡ Π»ΠΎΠ³ΠΎΠ². ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ SLI ΠΈ Apdex ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΡΡΠΌΠΎ Π² CH Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΠ΄ΠΆΠΎΠΉΠ½ΠΈΡΡΡΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ. ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ, Ρ.Β ΠΊ. ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π° ΡΡΠΆΠ΅Π»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΠΆΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ΅Π»Π΅Π²ΡΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ SLI ΠΈ Apdex:
log_target(
action_tag
,
slo_percent, sli_time
,
apdex_time
)
ΠΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π³Ρ Π² Π»ΠΎΠ³Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Google Site Reliability Engineering
ΠΡΠΈΠΌΠ΅Ρ SLI
Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ SLI
ΠΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ°ΠΊ ΠΈ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π³Π°ΠΌ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΡΡΠΆΠ΅Π»ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ SLI Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡ %. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎΠΈΡ Π·Π°Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌΒ Π²ΡΡΠΈΡΠ»ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ ΠΈΠΌΠΏΠ°ΠΊΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅: ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ Π²ΡΠ΅Π³ΠΎ 2 ΡΠ°Π·Π° Π·Π° Π΄Π΅Π½Ρ, ΠΎΠ½ Π½Π°ΡΡΡΠΈΠ» ΡΡΠΎΠΊΠΈ ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Π΅, Π° ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ 10Β 000 ΡΠ°Π·, Π½ΠΎ ΠΎΠ½ ΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΆΠ΅Π»ΡΠΎΠΉ Π·ΠΎΠ½Π΅ β Π²ΡΡ ΠΆΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π Π΄ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΠΎΠΌΠΎΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΡΠΊΡΠ΅Π½Π° Π. ΠΡΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Apdex
Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex
Β Apdex ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΊΠΎΠΌΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ². Π¦Π΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½ΠΈΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ SLI ΠΊΠ°ΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠΊΠ°ΠΆΠ΅Ρ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΆΠ΄ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π½Π°Π³Π»ΡΠ΄Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
Β«Ρ
ΠΎΡΠΎΡΠΈΠΉΒ», Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉΒ» ΠΈ Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉΒ». Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎ SLI, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡΡ Π·Π° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Apdex.
ΠΠ°ΡΠ±ΠΎΡΠ΄ Business Apdex
ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΉ Apdex Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ½ΡΡΠΈΠΉ (ΡΠ΅Π³, ΡΠΊΡΠ΅Π½, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ) ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ
ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ
ΠΏΠ°Π½Π΅Π»Π΅ΠΉ-ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ΅Π½ΠΎΠ².
ΠΠ»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ Π·Π°Π²Π΅Π΄Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π² ClickHouse Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:
log_business_target(
action_tag, controller, action,
business_target, apdex_time
,
priority
)
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ tag-controller-action => ΠΏΠΎΠ½ΡΡΠΈΠ΅ + ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Apdex. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΠΎΠ΄Π½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΡΠ΅Π½, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π»Π°Ρ Π³ΡΡΠΏΠΏΠ°, ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Grafana ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Canvas Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Repeat by variable (business_target).
ΠΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ
, Π³Π΄Π΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ (ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²Π΅ΡΠ°):
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Apdex
βΒ Β Β Β Β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Apdex Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Grafana ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ.
βΒ Β Β Β Β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ (+-0.xx).
βΒ Β Β Β Β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
βΒ Β Β Β Β ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ ΡΡΠ°Π·Ρ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Apdex, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ², Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
Π»ΠΈΡ.
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²
ΠΠ΄Π½Π°ΠΆΠ΄Ρ ΠΏΡΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΌΡΡΠ»Ρ:
Β«Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ³Π°ΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
, Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π° ΠΈ Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠ°ΠΊΠΈΡ
ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
Π΄Π°Π½Π½ΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΠΊΡΠ΅Π½, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π·Π°ΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π±Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ ΡΠΊΡΠ΅Π½ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΡΡΠΈΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ?Β».
Π‘ΠΊΠ°Π·Π°Π½ΠΎ β ΡΠ΄Π΅Π»Π°Π½ΠΎ: ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠΊΠ°Π·Π°Π», Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ Π»ΠΈΡΡ ΡΠ°Π½ΡΠ°Π·ΠΈΠ΅ΠΉ ΠΈ Π·Π΄ΡΠ°Π²ΡΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½Π°.
ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΡ
ΡΠ΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡΡ
ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΡΡ
. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΈΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Π° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΡΡΡΡΠ° (Π²ΡΠ΅ΠΌΡ ΠΈ RAM) Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎ ΠΏΡΠΈΡΠΎΠ΄Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΡΡΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
Π’Π΅ΠΊΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ O(n^x): Π°Π½Π°Π»ΠΈΠ· ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΎΠ² ΠΈΠ»ΠΈ log-log regression analysis / plot Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (
ΡΡΡΠ»ΠΊΠ° 1
,
ΡΡΡΠ»ΠΊΠ° 2
, Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² β
ΡΡΡΠ»ΠΊΠ° 3
). Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (ΡΠΊΡΠ΅Π½Π°), Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π² Π±ΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ β ΠΎΡΠ΅Π½ΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ (ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅ΡΠΎΠΌ)
ΠΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ
Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ a => b.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π»ΠΎΠ³Π°ΡΠΈΡΠΌ. ΠΠΎΠ³Π°ΡΠΈΡΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ, ΡΡΠΎΠ±Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ slope ΡΠ΅ΡΠ΅Π· Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ.
Π Π°ΡΡΠ΅Ρ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΡ β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ln(total_sql_queries) ΠΈ ln(duration_s) ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ β ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠ°Π·Π±ΡΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ ln(total_sql_queries).
Π Π°ΡΡΠ΅Ρ Π½Π°ΠΊΠ»ΠΎΠ½Π° (slope). ΠΠ°ΠΊΠ»ΠΎΠ½ Π»ΠΈΠ½ΠΈΠΈ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π² log-log ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΊ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΡΠΎΡ Π½Π°ΠΊΠ»ΠΎΠ½ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π°. ΠΡΠ»ΠΈ Π½Π°ΠΊΠ»ΠΎΠ½ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ 1, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ 2 ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N*log(N)). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΎΠΊΠΎΠ»ΠΎ 2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N^2). ΠΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ O(N^slope).
ΠΠΊΡΡΡΠ°ΠΏΠΎΠ»ΡΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π°ΠΊΠ»ΠΎΠ½ (slope), ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
ΠΠ°ΡΠ±ΠΎΡΠ΄ Π² Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΈ. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅: ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ (Π΄ΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°; Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π»ΡΡΡΠ΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ), ΡΠ±ΡΠ°ΡΡ Π½Π΅Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ (ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ), ΡΠ½ΠΈΠ·ΠΈΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΡΡΠΌΠΎΠ² Π½Π° ΠΎΡΠ΅Π½ΠΊΡ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ Π½Π° ΡΠΊΡΡΡΠ΅ΠΌΡΠΌΠ°Ρ
.
ΠΡΠΈΠΌΠ΅ΡΡ β ΠΎΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΊΡΠ΅Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ· XLSX. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ prediction_multipler Π·Π°Π΄Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΌΡ ΠΆΠ΅Π»Π°Π΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°, ΠΎΠ±ΡΡΠ½ΠΎ Γ1 Ρ
Π²Π°ΡΠ°Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° import
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
βΒ Β Β Β Β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘ΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n^3) ΠΌΠΎΠΆΠ΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΠΈΠ΄Π° for-for-for Ρ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅, ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°.
βΒ Β Β Β Β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², Π·Π΄Π΅ΡΡ ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡΠ·Ρ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠ΅Π΅ΡΡΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π² XLSX
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export
βΒ Β Β Β Β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π° Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠ΅Ρ) β ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.
βΒ Β Β Β Β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΏΠΎΡΡΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π½Π°ΡΡΡΠΏΠΈΡ Π»ΠΈΠΌΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (Π° ΠΏΠΎ Π½Π΅ΠΌΡ ΠΌΡ ΠΈ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ). ΠΠ°ΠΊ ΡΠΎΠ³Π΄Π° Π½Π°ΠΉΡΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡΡΠ΅ΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΠ? ΠΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈ ΠΌΠΈΠ½ΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠ° Duration. ΠΡΡΠ°Π½Π΅ΡΡΡ Ρ.Β Π½. Π²ΡΠ΅ΠΌΡ CPU, Π½Π΅ ΡΡΡΠ΅Π½Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
Duration. ΠΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΉ slope Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄: Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ; ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠ΅Π½ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° O(n^0.36) ΠΈ O(n^0.41). ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π±Π΅Π· ΠΠ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²:
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export
ΠΡΠ΅ΠΌΡ CPU Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΏΠΎΡΡΠ° β phpspreadsheet). ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ xlsx ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ xml, ΠΊΠ°ΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ.
Π’ΠΎΡ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
Β
ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ RAM Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² XLSX
ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ RAM Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RAM (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° phpspreadsheet, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ).
ΠΠ°ΡΠ±ΠΎΡ Π’ΠΠΠΎΠ² ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ
Π’ΠΠΡ ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° request
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ Π’ΠΠΠΎΠ² Π΄Π°ΡΠ±ΠΎΡΠ΄ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΡΡΠΆΠ΅Π»ΡΠΌΠΈ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΊ ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ JSON Statham Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅: Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΊΡΠ΅Π½Ρ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΡΠ΅Π½ Π»ΡΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ: ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
; ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΠΊΡΠ΅Π½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ; Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΡΠ΅Π½ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π΅ΡΠΎΡΠ½ΠΎ: ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΡΡΠΌΡ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
. Π‘ ΠΎΠΏΡΡΠΎΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠΆΠ΅ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅ΡΡΡΡ ΡΠ°Π±ΠΎΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΡΠΈ ΡΠ΅Π·ΠΊΠΎΠΌ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Grafana alerts ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΡΡΠ»ΠΎΠΊ, Π° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL ΡΠ°Π·Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΊΠΈ Π² ΠΏΠ»Π°Π½Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Grafana Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ Π°Π»Π΅ΡΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°: ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ 4 ΡΠ΅ΠΊΡΠ½Π΄
Π’ΡΡ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ SLI: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π»Π΅ΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΈΠ»ΠΈ SLO Π·Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
SELECT l.controller_name || '.' || l.action_name AS action,
lt.slo_percent, ROUND((countIf(l.duration_s <= lt.sli_time) / COUNT(*)) * 100, 2) AS sli_current
FROM logs AS l
JOIN log_target AS lt ON l.action_group_tag = lt.action_tag
WHERE $__timeFilter(l.start_datetime) AND l.success
GROUP BY l.controller_name, l.action_name, lt.slo_percent
HAVING ROUND((countIf(l.duration_s <= lt.sli_time) / COUNT(*)) * 100, 2) < lt.slo_percent;
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎ Π°Π»Π΅ΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ SLO
ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ Π² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΈ Π²ΡΡ, ΡΡΠΎ Π²ΡΠ΄Π°ΡΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΈ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠ»Π°ΡΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ΅ΡΡ: ΠΏΠΎΡΡΠ°, ΡΠΌΡ, ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΡ.
Β ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ Π°Π»Π΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ:
βΒ Β Β Β Β Π’ΡΠΆΠ΅Π»ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΠ β % ΠΠ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
%.
βΒ Β Β Β Β ΠΠ°ΠΏΡΠΎΡΡ ΠΊ ΠΠ β Π±ΠΎΠ»ΡΡΠ΅ 5Β 000 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠ΅Π½Π°.
βΒ Β Β Β Β ΠΠ½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² ΡΠΈΠΊΠ»Π΅.
βΒ Β Β Β Β ΠΠ΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ β Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ CPU.
βΒ Β Β Β Β ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ° ΠΎΡ 100 ΠΠ.
βΒ Β Β Β Β Π’ΡΠΈΠ³Π³Π΅ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ β ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΠΊΡΠ΅Π½Ρ Π²ΡΡΠΎΡΠ»Π° Π±ΠΎΠ»Π΅Π΅ 50% ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
βΒ Β Β Β Β
ΠΠ° Π²ΡΡΠΎΡΡ
β ΠΏΡΠΎΠ³Π½Π°ΡΡ
Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ
ΡΠ΅ΡΠ΅Π·
Π±Π°Π·Ρ ΠΊΠ΅ΠΉΡΠΎΠ²
: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡΠΌ ΠΌΠ΅ΡΡΠΈΠΊ.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
ΠΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ΄Π΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
βΒ Β Β Β Β ΠΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ (FS, cache, Request/Response size, AMQP, TOP SQL, near/far external requests β¦)
βΒ Β Β Β Β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ (Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠΎΠ² IDENT/Single/Count/Duration) Ρ Π°Π²ΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΠ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
βΒ Β Β Β Β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
βΒ Β Β Β Β ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΠΈ posix shared memory/UDP/TCP)
βΒ Β Β Β Β ΠΠ΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
βΒ Β Β Β Β ΠΠΎΠ»ΡΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² (P95/P99β¦), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° (Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
βΒ Β Β Β Β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΠΎΡΡΡ
βΒ Β Β Β Β Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π΄Π»Ρ Grafana alerts (+Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
βΒ Β Β Β Β ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΡΡΠ΅Π½Π΄Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ²)
βΒ Β Β Β Β Π‘Π²ΡΠ·Π°ΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π° (USE+)
βΒ Β Β Β Β ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Ρ
βΒ Β Β Β Β ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠΊΠ°Π·Ρ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ β ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ
βΒ Β Β Β Β ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ LLM, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
βΒ Β Β Β Β ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»ΠΈΠ½Π³Π° Π°-Π»Ρ pinba Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² (must have Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ)
ΠΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈΡΠ½ΠΈΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Sentry ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ ΠΈ Π²ΡΠ΅Π³Π΄Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ, ΠΏΠΎΡΡΠΈ Π½Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° (ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ fpm), ΠΌΠ°Π»ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ. SQL Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° β ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ·ΡΠΊ. Π’Π΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎ Π²ΡΠ΅Ρ
ΡΡΠΎΡΠΎΠ½ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ:
βΒ Β Β Β Β Π ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² pipeline ΡΠΊΡΠ΅Π½Π°. ΠΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΠΠ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π₯ΠΎΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ JSON ΡΠ°ΠΉΠ»Π° Π² Π³ΡΠ°ΡΠ°Π½Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
βΒ Β Β Β Β ΠΠ½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ Uptrace ΠΈ Sentry ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΡΡΡΡΠ΅Π΅, ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΡΠ°ΡΠΈΠΊ/ΠΌΠ΅ΡΡΠΎ). ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ: ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ°Π·Π½ΡΡ
Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΊΡΠΏΠ΅ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL.
βΒ Β Β Β Β ΠΠΎΠΊΠ° ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ PHP. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² 200 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ·ΡΠΊΠ° Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
βΒ Β Β Β Β ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ trace_id. Π‘ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ trace_id ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
βΒ Β Β Β Β Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡ
Π΅ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ SLI ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ (ΠΎΡΠΊΠ°Π·Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΆΠ΅Π»Π΅Π·Π°), ΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π½Π΅Ρ ΠΈ ΠΎΡΠ²Π°Π»ΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π²Ρ
ΠΎΠ΄Π΅ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°/nginx ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΡ ΠΆΠ΅ ΠΠ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ·Π°.
βΒ Β Β Β Β Prometheus Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΄ΠΎΠ², Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠ°, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π»ΠΎΠΆΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡ
ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ ΡΡΠ°Π·Ρ. ΠΠΌΠ΅ΡΡΠΎ SQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ·ΡΠΊ PromQL, ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ.
ΠΡΠΎΠ³ΠΈ
ΠΡΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΡΠ°Π» ΠΎΡ Π½Π°Ρ ΠΈ Π·Π°Π½ΡΠ»ΡΡ ΠΌΡΠ·ΡΠΊΠΎΠΉ =)
βΒ Β Β Β Β Π Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·.
βΒ Β Β Β Β ΠΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ RED/USE, SLI/Apdex β Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ.
βΒ Β Β Β Β ΠΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΆΠΈΠ²ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Π’ΠΠΠΎΠ², ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ + ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ.
βΒ Β Β Β Β Π‘Π²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΠΈΠ·ΠΈΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ»ΡΡΡΠΈΡ ΠΎΡΠ·ΡΠ²Ρ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π°Π·Π²Π°Π»ΠΈ
VESNA.Insight
β ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²: Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΠ, CPU, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², RAM, ΠΎΡΠΈΠ±ΠΊΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π’ΠΠΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΠ΅Π½ΠΊΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΊΠ΅ΠΉΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ.
ClickHouse ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΡΡΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π·Π° 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ³ΡΠ΅Π³Π°ΡΠΈΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅: ΠΏΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ β Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π·Π° ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Grafana Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ· ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π° Β«ΠΠΌΠΏΠΎΡΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠ΅Π²ΡΡΠΈΡ Π»ΠΈΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ/RAM ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π½Π° 200%Β» ΠΈ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π½ΡΠΆΠ΄ ΠΈ ΡΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π» ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ½ΡΠ΅ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΡΠΌ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΌΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ° β ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΊΠΎΠ², ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², QA ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ β ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ² ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°, ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΆΠ΅Π»ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ². ΠΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΠ°ΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡΠΎΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π― ΠΆΠ΅ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅Π» Π²ΡΠ΅ΠΌΡ, ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΡΡΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ, Π°ΠΊΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΈΠ², Π²ΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΡΡΠΏΠ½ΠΎΠΌ Π»Π΅Π³Π°ΡΠΈ-ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ². ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ
Π»Π΅Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΆΠΈΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΈ Π²Π΅ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΈΠ΄Π½ΠΎ Π½Π°ΡΠΊΠ²ΠΎΠ·Ρ. Π§ΡΠ²ΡΡΠ²ΡΠ΅ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π±ΠΎΠ»Π΅ΡΡΠ΅Π³ΠΎ Π·Π° ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠ΄Π΅ΠΈ Π²ΡΡ Π½ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΠΈ ΡΡΠΎ Ρ ΠΈΡ
ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ β ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π½ΠΈ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π² Π³ΡΠ°ΡΠ°Π½Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΠ΅ΡΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΡΠ΄Π° ΡΡΠ° Π΄ΠΎΡΠΎΠΆΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡΠ°Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΡΠΊΡΡΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ±Π΅ΠΆΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ.
ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ Π²ΡΠΆΠΈΠ»! Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈ Π²Π°Ρ ΠΎΠΏΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Sentry/Uptrace/.. ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π΄Π°ΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³, ΠΏΡΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π°ΡΠΏΠ΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ΄Π±ΡΠΊ! ΠΡΡ Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π²Π°Ρ ΡΠ·ΡΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ?), ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ 100% Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ΄ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ.
Π ΡΠ°ΠΊ β Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ Π²ΡΠ΅ΠΌ Π±ΡΡΡΡΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΏΡΠΈ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ β ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ! |
| Markdown | [ΠΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ](https://habr.com/ru/articles/)
[ΠΠΎΠΉΡΠΈ](https://habr.com/kek/v1/auth/habrahabr/?back=/ru/companies/etpgpb_vesna/articles/946000/&hl=ru)
[](https://habr.com/ru/companies/etpgpb_vesna/profile/)
[ΠΠ’Π ΠΠΠ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/profile/)
4,37
ΠΡΠ΅Π½ΠΊΠ° ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ
46,89
Π Π΅ΠΉΡΠΈΠ½Π³
27
ΠΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ
ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ
[](https://habr.com/ru/users/chronoexp/)
[chronoexp](https://habr.com/ru/users/chronoexp/)
11 ΡΠ΅Π½ 2025 Π² 10:26
# ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠΊΠ΅Π½Π΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ClickHouse ΠΈ Grafana. Π§Π°ΡΡΡ 3
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ
15 ΠΌΠΈΠ½
9\.3K
[ΠΠ»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ’Π ΠΠΠ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/articles/)[ΠΠ½Π°Π»ΠΈΠ· ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ \*](https://habr.com/ru/hubs/analysis_design/) [PHP \*](https://habr.com/ru/hubs/php/) [DevOps \*](https://habr.com/ru/hubs/devops/) [ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° \*](https://habr.com/ru/hubs/webdev/)
ΠΠ΅ΠΉΡ
> [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 1](https://habr.com/ru/companies/etpgpb_vesna/articles/939742)
> [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 2](https://habr.com/ru/companies/etpgpb_vesna/articles/944148)
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π― ΠΡΡΡΠΌ Π‘Π΅Π΄ΡΡ
, ΡΠ°Π±ΠΎΡΠ°Ρ Π²Π΅Π΄ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎΠ΅ΠΊΡΡ ΡΠΆΠ΅ Π΄Π΅Π²ΡΡΡΠΉ Π³ΠΎΠ΄, Π½Π°ΠΊΠΎΠΏΠΈΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄Π° Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΎ Π½Π°Ρ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±ΡΠΊΠ΅Π½Π΄Π° PHP Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅Π΄Π°ΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΈΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ, ΡΡΡΠ»ΠΊΠΈ Π²ΡΡΠ΅. Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π² ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ devops Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
SLI/Apdex, ΠΏΠΎΠΊΠΎΠ»Π΄ΡΠ΅ΠΌ Π½Π°Π΄ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (ΡΡΠ±ΡΠΈΠΊΠ° Β«ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡΒ»), ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΡ
Grafana. ΠΡΠ΅Π½ΠΈΠΌ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΡΡ. ΠΠ°Π²Π°ΡΠΈΠ²Π°ΠΉΡΠ΅ Π»ΡΠ±ΠΈΠΌΡΠΉ Π½Π°ΠΏΠΈΡΠΎΠΊ, ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ\!
### Π Π°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠ΅ΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ parameters.
`ΠΡΡΠ»Π΅Π΄ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ`
ΠΠ»Ρ Π»ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²*
Π’ΡΡ ΡΠΆΠ΅ Π²ΡΡΡΠΏΠ°Π΅Ρ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π° Π²ΡΡ Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΡΠΆΠ΅Π»ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π’ΠΠΠΎΠ², Π·Π΄Π΅ΡΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ½ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ. ΠΠ° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π΅ΡΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ Π½ΠΈΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ. Π§Π°ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: Π΅ΡΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
Π²ΠΈΠ΄Π½ΠΎ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ, ΡΡΠΎΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ SLI ΠΈ Apdex
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ devops ΠΏΠ΅ΡΠ²ΠΎΠ΅, Π½Π° ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ SRE (Site Reliability Engineering) Π²ΡΠΎΠ΄Π΅ [SLI](https://habr.com/ru/articles/718796/) ΠΈ [Apdex](https://habr.com/ru/companies/sravni/articles/802705/) ΠΏΠΎ ΡΠ΅ΡΠΊΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π³Π° ΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π² ClickHouse ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ β ΡΠ°Π±Π»ΠΈΡΡ Π»ΠΎΠ³ΠΎΠ². ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ SLI ΠΈ Apdex ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΡΡΠΌΠΎ Π² CH Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΠ΄ΠΆΠΎΠΉΠ½ΠΈΡΡΡΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ. ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ, Ρ. ΠΊ. ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π° ΡΡΠΆΠ΅Π»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΠΆΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ΅Π»Π΅Π²ΡΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ SLI ΠΈ Apdex:
`log_target(action_tag, slo_percent, sli_time, apdex_time)`
ΠΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π³Ρ Π² Π»ΠΎΠ³Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
`ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Google Site Reliability Engineering`
ΠΡΠΈΠΌΠ΅Ρ SLI

Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ SLI*
ΠΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ°ΠΊ ΠΈ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π³Π°ΠΌ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΡΡΠΆΠ΅Π»ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ SLI Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡ %. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎΠΈΡ Π·Π°Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ ΠΈΠΌΠΏΠ°ΠΊΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅: ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ Π²ΡΠ΅Π³ΠΎ 2 ΡΠ°Π·Π° Π·Π° Π΄Π΅Π½Ρ, ΠΎΠ½ Π½Π°ΡΡΡΠΈΠ» ΡΡΠΎΠΊΠΈ ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Π΅, Π° ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ 10 000 ΡΠ°Π·, Π½ΠΎ ΠΎΠ½ ΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΆΠ΅Π»ΡΠΎΠΉ Π·ΠΎΠ½Π΅ β Π²ΡΡ ΠΆΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π Π΄ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΠΎΠΌΠΎΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΡΠΊΡΠ΅Π½Π° Π. ΠΡΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Apdex

Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex*
Apdex ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΊΠΎΠΌΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ². Π¦Π΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½ΠΈΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ SLI ΠΊΠ°ΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠΊΠ°ΠΆΠ΅Ρ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΆΠ΄ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π½Π°Π³Π»ΡΠ΄Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
Β«Ρ
ΠΎΡΠΎΡΠΈΠΉΒ», Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉΒ» ΠΈ Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉΒ». Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎ SLI, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡΡ Π·Π° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Apdex.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ Business Apdex
ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΉ Apdex Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ½ΡΡΠΈΠΉ (ΡΠ΅Π³, ΡΠΊΡΠ΅Π½, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ) ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ
ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ
ΠΏΠ°Π½Π΅Π»Π΅ΠΉ-ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ΅Π½ΠΎΠ².
ΠΠ»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ Π·Π°Π²Π΅Π΄Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π² ClickHouse Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:
`log_business_target(action_tag, controller, action, business_target, apdex_time, priority)`
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ tag-controller-action =\> ΠΏΠΎΠ½ΡΡΠΈΠ΅ + ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Apdex. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΠΎΠ΄Π½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΡΠ΅Π½, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π»Π°Ρ Π³ΡΡΠΏΠΏΠ°, ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Grafana ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Canvas Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Repeat by variable (business\_target).
ΠΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ
, Π³Π΄Π΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ (ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²Π΅ΡΠ°):

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Apdex*
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Apdex Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Grafana ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ.
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ (+-0.xx).
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
β ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ ΡΡΠ°Π·Ρ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Apdex, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ², Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
Π»ΠΈΡ.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²
ΠΠ΄Π½Π°ΠΆΠ΄Ρ ΠΏΡΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΌΡΡΠ»Ρ: *Β«Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ³Π°ΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
, Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π° ΠΈ Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠ°ΠΊΠΈΡ
ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
Π΄Π°Π½Π½ΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΠΊΡΠ΅Π½, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π·Π°ΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π±Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ ΡΠΊΡΠ΅Π½ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΡΡΠΈΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ?Β».* Π‘ΠΊΠ°Π·Π°Π½ΠΎ β ΡΠ΄Π΅Π»Π°Π½ΠΎ: ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠΊΠ°Π·Π°Π», Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ Π»ΠΈΡΡ ΡΠ°Π½ΡΠ°Π·ΠΈΠ΅ΠΉ ΠΈ Π·Π΄ΡΠ°Π²ΡΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ.
`ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½Π°.`
ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΡ
ΡΠ΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡΡ
ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΡΡ
. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΈΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Π° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΡΡΡΡΠ° (Π²ΡΠ΅ΠΌΡ ΠΈ RAM) Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎ ΠΏΡΠΈΡΠΎΠ΄Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΡΡΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.

Π’Π΅ΠΊΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ O(n^x): Π°Π½Π°Π»ΠΈΠ· ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΎΠ² ΠΈΠ»ΠΈ log-log regression analysis / plot Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ([ΡΡΡΠ»ΠΊΠ° 1](https://en.wikipedia.org/wiki/Log%E2%80%93log_plot), [ΡΡΡΠ»ΠΊΠ° 2](https://www.vexpower.com/brief/log-log-model), Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² β [ΡΡΡΠ»ΠΊΠ° 3](https://ppml.dev/algorithms.html)). Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (ΡΠΊΡΠ΅Π½Π°), Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π² Π±ΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ β ΠΎΡΠ΅Π½ΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ (ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅ΡΠΎΠΌ)
1. ΠΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ
Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ a =\> b.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π»ΠΎΠ³Π°ΡΠΈΡΠΌ. ΠΠΎΠ³Π°ΡΠΈΡΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ, ΡΡΠΎΠ±Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ slope ΡΠ΅ΡΠ΅Π· Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ.
3. Π Π°ΡΡΠ΅Ρ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΡ β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ln(total\_sql\_queries) ΠΈ ln(duration\_s) ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ β ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠ°Π·Π±ΡΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ ln(total\_sql\_queries).
4. Π Π°ΡΡΠ΅Ρ Π½Π°ΠΊΠ»ΠΎΠ½Π° (slope). ΠΠ°ΠΊΠ»ΠΎΠ½ Π»ΠΈΠ½ΠΈΠΈ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π² log-log ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΊ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΡΠΎΡ Π½Π°ΠΊΠ»ΠΎΠ½ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
5. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π°. ΠΡΠ»ΠΈ Π½Π°ΠΊΠ»ΠΎΠ½ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ 1, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ 2 ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N\*log(N)). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΎΠΊΠΎΠ»ΠΎ 2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N^2). ΠΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ O(N^slope).
6. ΠΠΊΡΡΡΠ°ΠΏΠΎΠ»ΡΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π°ΠΊΠ»ΠΎΠ½ (slope), ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
ΠΠ°ΡΠ±ΠΎΡΠ΄ Π² Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΈ. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅: ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ (Π΄ΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°; Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π»ΡΡΡΠ΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ), ΡΠ±ΡΠ°ΡΡ Π½Π΅Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ (ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ), ΡΠ½ΠΈΠ·ΠΈΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΡΡΠΌΠΎΠ² Π½Π° ΠΎΡΠ΅Π½ΠΊΡ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ Π½Π° ΡΠΊΡΡΡΠ΅ΠΌΡΠΌΠ°Ρ
.
**ΠΡΠΈΠΌΠ΅ΡΡ β ΠΎΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΊΡΠ΅Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ· XLSX. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ prediction\_multipler Π·Π°Π΄Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΌΡ ΠΆΠ΅Π»Π°Π΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°, ΠΎΠ±ΡΡΠ½ΠΎ Γ1 Ρ
Π²Π°ΡΠ°Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° import*
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘ΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n^3) ΠΌΠΎΠΆΠ΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΠΈΠ΄Π° for-for-for Ρ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅, ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°.
β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², Π·Π΄Π΅ΡΡ ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡΠ·Ρ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠ΅Π΅ΡΡΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π² XLSX

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π° Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠ΅Ρ) β ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.
β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΏΠΎΡΡΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π½Π°ΡΡΡΠΏΠΈΡ Π»ΠΈΠΌΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
**ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (Π° ΠΏΠΎ Π½Π΅ΠΌΡ ΠΌΡ ΠΈ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ). ΠΠ°ΠΊ ΡΠΎΠ³Π΄Π° Π½Π°ΠΉΡΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡΡΠ΅ΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΠ? ΠΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈ ΠΌΠΈΠ½ΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠ° Duration. ΠΡΡΠ°Π½Π΅ΡΡΡ Ρ. Π½. Π²ΡΠ΅ΠΌΡ CPU, Π½Π΅ ΡΡΡΠ΅Π½Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
Duration. ΠΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΉ slope Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄: Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ; ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠ΅Π½ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° O(n^0.36) ΠΈ O(n^0.41). ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π±Π΅Π· ΠΠ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²:

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
ΠΡΠ΅ΠΌΡ CPU Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΏΠΎΡΡΠ° β phpspreadsheet). ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ xlsx ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ xml, ΠΊΠ°ΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ.

*Π’ΠΎΡ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ*
**ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ RAM Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² XLSX

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ RAM Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RAM (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° phpspreadsheet, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ).
**ΠΠ°ΡΠ±ΠΎΡ Π’ΠΠΠΎΠ² ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ**

*Π’ΠΠΡ ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° request*
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ Π’ΠΠΠΎΠ² Π΄Π°ΡΠ±ΠΎΡΠ΄ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΡΡΠΆΠ΅Π»ΡΠΌΠΈ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΊ ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ JSON Statham Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅: Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΊΡΠ΅Π½Ρ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΡΠ΅Π½ Π»ΡΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ: ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
; ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΠΊΡΠ΅Π½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ; Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΡΠ΅Π½ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π΅ΡΠΎΡΠ½ΠΎ: ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΡΡΠΌΡ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
. Π‘ ΠΎΠΏΡΡΠΎΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
## ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠΆΠ΅ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅ΡΡΡΡ ΡΠ°Π±ΠΎΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΡΠΈ ΡΠ΅Π·ΠΊΠΎΠΌ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Grafana alerts ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΡΡΠ»ΠΎΠΊ, Π° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL ΡΠ°Π·Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΊΠΈ Π² ΠΏΠ»Π°Π½Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ.

*ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Grafana Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ*

*ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ Π°Π»Π΅ΡΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°: ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ 4 ΡΠ΅ΠΊΡΠ½Π΄*
Π’ΡΡ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ SLI: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π»Π΅ΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΈΠ»ΠΈ SLO Π·Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
```
```

*ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎ Π°Π»Π΅ΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ SLO*
ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ Π² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΈ Π²ΡΡ, ΡΡΠΎ Π²ΡΠ΄Π°ΡΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΈ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠ»Π°ΡΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ΅ΡΡ: ΠΏΠΎΡΡΠ°, ΡΠΌΡ, ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ Π°Π»Π΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ:
β Π’ΡΠΆΠ΅Π»ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΠ β % ΠΠ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
%.
β ΠΠ°ΠΏΡΠΎΡΡ ΠΊ ΠΠ β Π±ΠΎΠ»ΡΡΠ΅ 5 000 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠ΅Π½Π°.
β ΠΠ½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² ΡΠΈΠΊΠ»Π΅.
β ΠΠ΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ β Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ CPU.
β ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ° ΠΎΡ 100 ΠΠ.
β Π’ΡΠΈΠ³Π³Π΅ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ β ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΠΊΡΠ΅Π½Ρ Π²ΡΡΠΎΡΠ»Π° Π±ΠΎΠ»Π΅Π΅ 50% ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
β **ΠΠ° Π²ΡΡΠΎΡΡ** β ΠΏΡΠΎΠ³Π½Π°ΡΡ **Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ** ΡΠ΅ΡΠ΅Π· **Π±Π°Π·Ρ ΠΊΠ΅ΠΉΡΠΎΠ²**: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡΠΌ ΠΌΠ΅ΡΡΠΈΠΊ.
## ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
ΠΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ΄Π΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
β ΠΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ (FS, cache, Request/Response size, AMQP, TOP SQL, near/far external requests β¦)
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ (Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠΎΠ² IDENT/Single/Count/Duration) Ρ Π°Π²ΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΠ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
β ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΠΈ posix shared memory/UDP/TCP)
β ΠΠ΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
β ΠΠΎΠ»ΡΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² (P95/P99β¦), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° (Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΠΎΡΡΡ
β Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π΄Π»Ρ Grafana alerts (+Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
β ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΡΡΠ΅Π½Π΄Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ²)
β Π‘Π²ΡΠ·Π°ΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π° (USE+)
β ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Ρ
β ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠΊΠ°Π·Ρ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ β ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ
β ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ LLM, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
β ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»ΠΈΠ½Π³Π° Π°-Π»Ρ pinba Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² (must have Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ)
ΠΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈΡΠ½ΠΈΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Sentry ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ ΠΈ Π²ΡΠ΅Π³Π΄Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
## ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ, ΠΏΠΎΡΡΠΈ Π½Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° (ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ fpm), ΠΌΠ°Π»ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ. SQL Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° β ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ·ΡΠΊ. Π’Π΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎ Π²ΡΠ΅Ρ
ΡΡΠΎΡΠΎΠ½ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ:
β Π ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² pipeline ΡΠΊΡΠ΅Π½Π°. ΠΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΠΠ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π₯ΠΎΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ JSON ΡΠ°ΠΉΠ»Π° Π² Π³ΡΠ°ΡΠ°Π½Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
β ΠΠ½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ Uptrace ΠΈ Sentry ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΡΡΡΡΠ΅Π΅, ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΡΠ°ΡΠΈΠΊ/ΠΌΠ΅ΡΡΠΎ). ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ: ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ°Π·Π½ΡΡ
Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΊΡΠΏΠ΅ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL.
β ΠΠΎΠΊΠ° ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ PHP. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² 200 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ·ΡΠΊΠ° Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
β ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ trace\_id. Π‘ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ trace\_id ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
β Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡ
Π΅ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ SLI ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ (ΠΎΡΠΊΠ°Π·Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΆΠ΅Π»Π΅Π·Π°), ΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π½Π΅Ρ ΠΈ ΠΎΡΠ²Π°Π»ΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π²Ρ
ΠΎΠ΄Π΅ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°/nginx ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΡ ΠΆΠ΅ ΠΠ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ·Π°.
β Prometheus Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΄ΠΎΠ², Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠ°, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π»ΠΎΠΆΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡ
ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ ΡΡΠ°Π·Ρ. ΠΠΌΠ΅ΡΡΠΎ SQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ·ΡΠΊ PromQL, ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ.
## ΠΡΠΎΠ³ΠΈ

ΠΡΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΡΠ°Π» ΠΎΡ Π½Π°Ρ ΠΈ Π·Π°Π½ΡΠ»ΡΡ ΠΌΡΠ·ΡΠΊΠΎΠΉ =)
β Π Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·.
β ΠΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ RED/USE, SLI/Apdex β Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ.
β ΠΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΆΠΈΠ²ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Π’ΠΠΠΎΠ², ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ + ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ.
β Π‘Π²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΠΈΠ·ΠΈΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ»ΡΡΡΠΈΡ ΠΎΡΠ·ΡΠ²Ρ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π°Π·Π²Π°Π»ΠΈ **VESNA.Insight** β ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²: Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΠ, CPU, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², RAM, ΠΎΡΠΈΠ±ΠΊΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π’ΠΠΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΠ΅Π½ΠΊΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΊΠ΅ΠΉΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ.
ClickHouse ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΡΡΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π·Π° 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ³ΡΠ΅Π³Π°ΡΠΈΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅: ΠΏΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ β Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π·Π° ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Grafana Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ· ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π° Β«ΠΠΌΠΏΠΎΡΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠ΅Π²ΡΡΠΈΡ Π»ΠΈΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ/RAM ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π½Π° 200%Β» ΠΈ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π½ΡΠΆΠ΄ ΠΈ ΡΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π» ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ½ΡΠ΅ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΡΠΌ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΌΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ° β ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΊΠΎΠ², ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², QA ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ β ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ² ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°, ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΆΠ΅Π»ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ². ΠΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΠ°ΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡΠΎΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π― ΠΆΠ΅ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅Π» Π²ΡΠ΅ΠΌΡ, ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΡΡΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ, Π°ΠΊΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΈΠ², Π²ΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΡΡΠΏΠ½ΠΎΠΌ Π»Π΅Π³Π°ΡΠΈ-ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ². ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ
Π»Π΅Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΆΠΈΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΈ Π²Π΅ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΈΠ΄Π½ΠΎ Π½Π°ΡΠΊΠ²ΠΎΠ·Ρ. Π§ΡΠ²ΡΡΠ²ΡΠ΅ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π±ΠΎΠ»Π΅ΡΡΠ΅Π³ΠΎ Π·Π° ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠ΄Π΅ΠΈ Π²ΡΡ Π½ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΠΈ ΡΡΠΎ Ρ ΠΈΡ
ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ β ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π½ΠΈ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π² Π³ΡΠ°ΡΠ°Π½Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΠ΅ΡΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΡΠ΄Π° ΡΡΠ° Π΄ΠΎΡΠΎΠΆΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡΠ°Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΡΠΊΡΡΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ±Π΅ΠΆΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ.
## ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ Π²ΡΠΆΠΈΠ»! Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈ Π²Π°Ρ ΠΎΠΏΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Sentry/Uptrace/.. ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π΄Π°ΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³, ΠΏΡΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π°ΡΠΏΠ΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ΄Π±ΡΠΊ! ΠΡΡ Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π²Π°Ρ ΡΠ·ΡΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ?), ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ 100% Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ΄ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ.
Π ΡΠ°ΠΊ β Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ Π²ΡΠ΅ΠΌ Π±ΡΡΡΡΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΏΡΠΈ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ β ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ\!
Π’Π΅Π³ΠΈ:
- [ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3+%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8])
- [backend](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[backend])
- [ΠΌΠ΅ΡΡΠΈΠΊΠΈ red](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8+red])
- [ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ api](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+api])
- [sre](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[sre])
- [php](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[php])
- [pinba](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[pinba])
- [clickhouse-grafana](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[clickhouse-grafana])
- [vesna.insight](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[vesna.insight])
- [ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²](https://habr.com/ru/search/?target_type=posts&order=relevance&q=[%D0%BE%D1%86%D0%B5%D0%BD%D0%BA%D0%B0+%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2])
Π₯Π°Π±Ρ:
- [ΠΠ»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ’Π ΠΠΠ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/articles/)
- [ΠΠ½Π°Π»ΠΈΠ· ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ](https://habr.com/ru/hubs/analysis_design/)
- [PHP](https://habr.com/ru/hubs/php/)
- [DevOps](https://habr.com/ru/hubs/devops/)
- [ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°](https://habr.com/ru/hubs/webdev/)
\+8
33
[0](https://habr.com/ru/companies/etpgpb_vesna/articles/946000/comments/)
[](https://habr.com/ru/companies/etpgpb_vesna/profile/)
[ΠΠ’Π ΠΠΠ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/profile/)
[Π‘Π°ΠΉΡ](https://vesna-group.ru/)
[](https://habr.com/ru/users/chronoexp/)
5
ΠΠ°ΡΠΌΠ°
ΠΡΡΠ΅ΠΌ Π‘Π΅Π΄ΡΡ
[@chronoexp](https://habr.com/ru/users/chronoexp/)
ΠΠ΅Π΄ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠΈΠΌΠ»ΠΈΠ΄
ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ
ΠΠΎΡΠΎΠΊ ΠΡΠΊΠ΅Π½Π΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ 24/7 Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π΄ΡΡΠ·Π΅ΠΉ Π₯Π°Π±ΡΠ°

Π₯Π°Π±Ρ ΠΡΡΡΡ Π΄Π»Ρ Π±ΡΠΊΠ΅Π½Π΄Π΅ΡΠΎΠ²
Π ΠΠΠΠΠΠ
ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ, Π₯Π΅ΠΊΡΠ»Π΅Ρ, SkyPro, Π°Π²ΡΠΎΡΡΠΊΠΈΠ΅ ΠΊΡΡΡΡ β ΡΠΎΠ±ΡΠ°Π»ΠΈ Π²ΡΠ΅Ρ
ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠΊΠΈΠ΄ΠΊΠΈ. ΠΡΡΠ°Π»ΠΎΡΡ Π²ΡΠ±ΡΠ°ΡΡ\!
[ΠΠ΅ΡΠ΅ΠΉΡΠΈ](https://career.habr.com/courses/programmirovanie/backend-razrabotka/?erid=2VSb5zFkQ3T&utm_source=habr&utm_medium=sponsorship_hub)
[ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠΎΡΠΎΠΊ ΠΡΠΊΠ΅Π½Π΄](https://habr.com/ru/flows/backend/)
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ](https://habr.com/ru/companies/etpgpb_vesna/articles/946000/comments/)
## ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
ΠΡΡΡΠΈΠ΅ Π·Π° ΡΡΡΠΊΠΈ
ΠΠΎΡ
ΠΎΠΆΠΈΠ΅
## ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Π‘Π°ΠΉΡ
[vesna-group.ru](https://vesna-group.ru/)
ΠΠ°ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
21 Π½ΠΎΡΠ±ΡΡ 2024
ΠΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ
26 Π°ΠΏΡΠ΅Π»Ρ 2023
Π§ΠΈΡΠ»Π΅Π½Π½ΠΎΡΡΡ
501β1 000 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π ΠΎΡΡΠΈΡ
ΠΠ°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ
- [ΠΠΎΠΉΡΠΈ](https://habr.com/kek/v1/auth/habrahabr/?back=/ru/companies/etpgpb_vesna/articles/946000/&hl=ru)
- [Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ](https://habr.com/kek/v1/auth/habrahabr-register/?back=/ru/companies/etpgpb_vesna/articles/946000/&hl=ru)
Π Π°Π·Π΄Π΅Π»Ρ
- [Π‘ΡΠ°ΡΡΠΈ](https://habr.com/ru/articles/)
- [ΠΠΎΠ²ΠΎΡΡΠΈ](https://habr.com/ru/news/)
- [Π₯Π°Π±Ρ](https://habr.com/ru/hubs/)
- [ΠΠΎΠΌΠΏΠ°Π½ΠΈΠΈ](https://habr.com/ru/companies/)
- [ΠΠ²ΡΠΎΡΡ](https://habr.com/ru/users/)
- [ΠΠ΅ΡΠΎΡΠ½ΠΈΡΠ°](https://habr.com/ru/sandbox/)
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- [Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΉΡΠ°](https://habr.com/ru/docs/help/)
- [ΠΠ»Ρ Π°Π²ΡΠΎΡΠΎΠ²](https://habr.com/ru/docs/authors/codex/)
- [ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ](https://habr.com/ru/docs/companies/corpblogs/)
- [ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ](https://habr.com/ru/docs/docs/transparency/)
- [Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅](https://account.habr.com/info/agreement/?hl=ru_RU)
- [ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ](https://account.habr.com/info/confidential/?hl=ru_RU)
Π£ΡΠ»ΡΠ³ΠΈ
- [ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ Π±Π»ΠΎΠ³](https://company.habr.com/ru/corporate-blogs/)
- [ΠΠ΅Π΄ΠΈΠΉΠ½Π°Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠ°](https://company.habr.com/ru/advertising/)
- [ΠΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ](https://company.habr.com/ru/native-special/)
- [ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ](https://company.habr.com/ru/education-programs/)
- [Π‘ΡΠ°ΡΡΠ°ΠΏΠ°ΠΌ](https://company.habr.com/ru/hello-startup/)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ·ΡΠΊΠ°
[Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°](https://habr.com/ru/feedback/)
Β© 2006β2026, [Habr](https://company.habr.com/) |
| Readable Markdown | > [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 1](https://habr.com/ru/companies/etpgpb_vesna/articles/939742)
> [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΡΡΡ 2](https://habr.com/ru/companies/etpgpb_vesna/articles/944148)
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π― ΠΡΡΡΠΌ Π‘Π΅Π΄ΡΡ
, ΡΠ°Π±ΠΎΡΠ°Ρ Π²Π΅Π΄ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎΠ΅ΠΊΡΡ ΡΠΆΠ΅ Π΄Π΅Π²ΡΡΡΠΉ Π³ΠΎΠ΄, Π½Π°ΠΊΠΎΠΏΠΈΠ»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄Π° Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΎ Π½Π°Ρ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±ΡΠΊΠ΅Π½Π΄Π° PHP Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅Π΄Π°ΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΈΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ, ΡΡΡΠ»ΠΊΠΈ Π²ΡΡΠ΅. Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π² ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ devops Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
SLI/Apdex, ΠΏΠΎΠΊΠΎΠ»Π΄ΡΠ΅ΠΌ Π½Π°Π΄ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (ΡΡΠ±ΡΠΈΠΊΠ° Β«ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡΒ»), ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΡ
Grafana. ΠΡΠ΅Π½ΠΈΠΌ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΡΡ. ΠΠ°Π²Π°ΡΠΈΠ²Π°ΠΉΡΠ΅ Π»ΡΠ±ΠΈΠΌΡΠΉ Π½Π°ΠΏΠΈΡΠΎΠΊ, ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ\!
### Π Π°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠ΅ΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ parameters.
`ΠΡΡΠ»Π΅Π΄ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ`
ΠΠ»Ρ Π»ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²*
Π’ΡΡ ΡΠΆΠ΅ Π²ΡΡΡΠΏΠ°Π΅Ρ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π° Π²ΡΡ Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΡΠΆΠ΅Π»ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π’ΠΠΠΎΠ², Π·Π΄Π΅ΡΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ½ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ. ΠΠ° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π΅ΡΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ Π½ΠΈΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ. Π§Π°ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: Π΅ΡΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄Π°Ρ
Π²ΠΈΠ΄Π½ΠΎ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ, ΡΡΠΎΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ SLI ΠΈ Apdex
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ devops ΠΏΠ΅ΡΠ²ΠΎΠ΅, Π½Π° ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ SRE (Site Reliability Engineering) Π²ΡΠΎΠ΄Π΅ [SLI](https://habr.com/ru/articles/718796/) ΠΈ [Apdex](https://habr.com/ru/companies/sravni/articles/802705/) ΠΏΠΎ ΡΠ΅ΡΠΊΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π³Π° ΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π² ClickHouse ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ β ΡΠ°Π±Π»ΠΈΡΡ Π»ΠΎΠ³ΠΎΠ². ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ SLI ΠΈ Apdex ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΡΡΠΌΠΎ Π² CH Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΠ΄ΠΆΠΎΠΉΠ½ΠΈΡΡΡΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ. ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ, Ρ. ΠΊ. ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π° ΡΡΠΆΠ΅Π»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΠΆΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ΅Π»Π΅Π²ΡΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ SLI ΠΈ Apdex:
`log_target(action_tag, slo_percent, sli_time, apdex_time)`
ΠΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π³Ρ Π² Π»ΠΎΠ³Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
`ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Google Site Reliability Engineering`
ΠΡΠΈΠΌΠ΅Ρ SLI

Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ SLI*
ΠΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ°ΠΊ ΠΈ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π³Π°ΠΌ ΠΈ ΡΠΊΡΠ΅Π½Π°ΠΌ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΡΡΠΆΠ΅Π»ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ SLI Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡ %. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎΠΈΡ Π·Π°Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ ΠΈΠΌΠΏΠ°ΠΊΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅: ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ Π²ΡΠ΅Π³ΠΎ 2 ΡΠ°Π·Π° Π·Π° Π΄Π΅Π½Ρ, ΠΎΠ½ Π½Π°ΡΡΡΠΈΠ» ΡΡΠΎΠΊΠΈ ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Π΅, Π° ΡΠΊΡΠ΅Π½ Π Π²ΡΠ·Π²Π°Π»ΠΈ 10 000 ΡΠ°Π·, Π½ΠΎ ΠΎΠ½ ΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΆΠ΅Π»ΡΠΎΠΉ Π·ΠΎΠ½Π΅ β Π²ΡΡ ΠΆΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π Π΄ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΠΎΠΌΠΎΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΡΠΊΡΠ΅Π½Π° Π. ΠΡΠ° Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Apdex

Π€ΠΎΡΠΌΡΠ»Π° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex*
Apdex ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΊΠΎΠΌΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ² ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ². Π¦Π΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½ΠΈΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ SLI ΠΊΠ°ΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠΊΠ°ΠΆΠ΅Ρ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΆΠ΄ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π½Π°Π³Π»ΡΠ΄Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
Β«Ρ
ΠΎΡΠΎΡΠΈΠΉΒ», Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉΒ» ΠΈ Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉΒ». Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎ SLI, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡΡ Π·Π° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Apdex.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ Business Apdex
ΠΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΉ Apdex Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ½ΡΡΠΈΠΉ (ΡΠ΅Π³, ΡΠΊΡΠ΅Π½, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ) ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ
ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ
ΠΏΠ°Π½Π΅Π»Π΅ΠΉ-ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ΅Π½ΠΎΠ².
ΠΠ»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡΠΌ Π·Π°Π²Π΅Π΄Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π² ClickHouse Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:
`log_business_target(action_tag, controller, action, business_target, apdex_time, priority)`
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ tag-controller-action =\> ΠΏΠΎΠ½ΡΡΠΈΠ΅ + ΡΠ΅Π»Π΅Π²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Apdex. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΠΎΠ΄Π½Ρ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΡΠ΅Π½, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π»Π°Ρ Π³ΡΡΠΏΠΏΠ°, ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Grafana ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Canvas Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Repeat by variable (business\_target).
ΠΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ
, Π³Π΄Π΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ (ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²Π΅ΡΠ°):

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Apdex Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Apdex*
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Apdex Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Grafana ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ.
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ (+-0.xx).
β ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
β ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ½ΡΡΠΈΡ Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ ΡΡΠ°Π·Ρ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Apdex, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ², Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
Π»ΠΈΡ.
### ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²
ΠΠ΄Π½Π°ΠΆΠ΄Ρ ΠΏΡΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΌΡΡΠ»Ρ: *Β«Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ³Π°ΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
, Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π° ΠΈ Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠ°ΠΊΠΈΡ
ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
Π΄Π°Π½Π½ΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΠΊΡΠ΅Π½, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π·Π°ΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π±Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ ΡΠΊΡΠ΅Π½ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΡΡΠΈΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ?Β».* Π‘ΠΊΠ°Π·Π°Π½ΠΎ β ΡΠ΄Π΅Π»Π°Π½ΠΎ: ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠΊΠ°Π·Π°Π», Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ Π»ΠΈΡΡ ΡΠ°Π½ΡΠ°Π·ΠΈΠ΅ΠΉ ΠΈ Π·Π΄ΡΠ°Π²ΡΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ.
`ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½Π°.`
ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΡ
ΡΠ΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡΡ
ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΡΡ
. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΈΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Π° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΡΡΡΡΠ° (Π²ΡΠ΅ΠΌΡ ΠΈ RAM) Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎ ΠΏΡΠΈΡΠΎΠ΄Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΡΡΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.

Π’Π΅ΠΊΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ O(n^x): Π°Π½Π°Π»ΠΈΠ· ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΎΠ² ΠΈΠ»ΠΈ log-log regression analysis / plot Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ([ΡΡΡΠ»ΠΊΠ° 1](https://en.wikipedia.org/wiki/Log%E2%80%93log_plot), [ΡΡΡΠ»ΠΊΠ° 2](https://www.vexpower.com/brief/log-log-model), Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² β [ΡΡΡΠ»ΠΊΠ° 3](https://ppml.dev/algorithms.html)). Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (ΡΠΊΡΠ΅Π½Π°), Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π² Π±ΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ β ΠΎΡΠ΅Π½ΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ (ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅ΡΠΎΠΌ)
1. ΠΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ
Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ a =\> b.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π»ΠΎΠ³Π°ΡΠΈΡΠΌ. ΠΠΎΠ³Π°ΡΠΈΡΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ, ΡΡΠΎΠ±Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ slope ΡΠ΅ΡΠ΅Π· Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ.
3. Π Π°ΡΡΠ΅Ρ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΡ β ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ln(total\_sql\_queries) ΠΈ ln(duration\_s) ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ β ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠ°Π·Π±ΡΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ ln(total\_sql\_queries).
4. Π Π°ΡΡΠ΅Ρ Π½Π°ΠΊΠ»ΠΎΠ½Π° (slope). ΠΠ°ΠΊΠ»ΠΎΠ½ Π»ΠΈΠ½ΠΈΠΈ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π² log-log ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ²Π°ΡΠΈΠ°ΡΠΈΠΈ ΠΊ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ. ΠΡΠΎΡ Π½Π°ΠΊΠ»ΠΎΠ½ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
5. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π°. ΠΡΠ»ΠΈ Π½Π°ΠΊΠ»ΠΎΠ½ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ 1, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ 2 ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N\*log(N)). ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΎΠΊΠΎΠ»ΠΎ 2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(N^2). ΠΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ O(N^slope).
6. ΠΠΊΡΡΡΠ°ΠΏΠΎΠ»ΡΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π°ΠΊΠ»ΠΎΠ½ (slope), ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
ΠΠ°ΡΠ±ΠΎΡΠ΄ Π² Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΈ. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅: ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ (Π΄ΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°; Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π»ΡΡΡΠ΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ), ΡΠ±ΡΠ°ΡΡ Π½Π΅Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ (ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ), ΡΠ½ΠΈΠ·ΠΈΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΡΡΠΌΠΎΠ² Π½Π° ΠΎΡΠ΅Π½ΠΊΡ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ Π½Π° ΡΠΊΡΡΡΠ΅ΠΌΡΠΌΠ°Ρ
.
**ΠΡΠΈΠΌΠ΅ΡΡ β ΠΎΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΊΡΠ΅Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ· XLSX. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ prediction\_multipler Π·Π°Π΄Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΌΡ ΠΆΠ΅Π»Π°Π΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°, ΠΎΠ±ΡΡΠ½ΠΎ Γ1 Ρ
Π²Π°ΡΠ°Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° import*
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘ΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n^3) ΠΌΠΎΠΆΠ΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΠΈΠ΄Π° for-for-for Ρ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅, ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°.
β ΠΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ², Π·Π΄Π΅ΡΡ ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡΠ·Ρ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠ΅Π΅ΡΡΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π² XLSX

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π° Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠ΅Ρ) β ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.
β ΠΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΏΠΎΡΡΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π½Π°ΡΡΡΠΏΠΈΡ Π»ΠΈΠΌΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
**ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² (Π° ΠΏΠΎ Π½Π΅ΠΌΡ ΠΌΡ ΠΈ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ). ΠΠ°ΠΊ ΡΠΎΠ³Π΄Π° Π½Π°ΠΉΡΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡΡΠ΅ΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΠ? ΠΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈ ΠΌΠΈΠ½ΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠ° Duration. ΠΡΡΠ°Π½Π΅ΡΡΡ Ρ. Π½. Π²ΡΠ΅ΠΌΡ CPU, Π½Π΅ ΡΡΡΠ΅Π½Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
Duration. ΠΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΉ slope Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄: Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ; ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠ΅Π½ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° O(n^0.36) ΠΈ O(n^0.41). ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π±Π΅Π· ΠΠ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²:

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
ΠΡΠ΅ΠΌΡ CPU Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΏΠΎΡΡΠ° β phpspreadsheet). ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ xlsx ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ xml, ΠΊΠ°ΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ.

*Π’ΠΎΡ ΠΆΠ΅ ΡΠΊΡΠ΅Π½ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ*
**ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ RAM Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
**
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² XLSX

*ΠΠ°ΡΠ±ΠΎΡΠ΄ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ RAM Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΡΠ΅Π½Π° ΡΠΈΠΏΠ° export*
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RAM (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° phpspreadsheet, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ).
**ΠΠ°ΡΠ±ΠΎΡ Π’ΠΠΠΎΠ² ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ**

*Π’ΠΠΡ ΠΏΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° request*
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ Π’ΠΠΠΎΠ² Π΄Π°ΡΠ±ΠΎΡΠ΄ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΊΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΡΡΠΆΠ΅Π»ΡΠΌΠΈ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΊ ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ JSON Statham Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅: Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΊΡΠ΅Π½Ρ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΡΠ΅Π½ Π»ΡΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ: ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
; ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΠΊΡΠ΅Π½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ; Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΡΠ΅Π½ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π΅ΡΠΎΡΠ½ΠΎ: ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΡΡΠΌΡ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
. Π‘ ΠΎΠΏΡΡΠΎΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
## ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠΆΠ΅ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅ΡΡΡΡ ΡΠ°Π±ΠΎΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΡΠΈ ΡΠ΅Π·ΠΊΠΎΠΌ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Grafana alerts ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΡΡΠ»ΠΎΠΊ, Π° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL ΡΠ°Π·Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΊΠΈ Π² ΠΏΠ»Π°Π½Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ.

*ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Grafana Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ*

*ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ Π°Π»Π΅ΡΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°: ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ 4 ΡΠ΅ΠΊΡΠ½Π΄*
Π’ΡΡ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ SLI: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π»Π΅ΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΈΠ»ΠΈ SLO Π·Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
```
SELECT l.controller_name || '.' || l.action_name AS action,
lt.slo_percent, ROUND((countIf(l.duration_s <= lt.sli_time) / COUNT(*)) * 100, 2) AS sli_current
FROM logs AS l
JOIN log_target AS lt ON l.action_group_tag = lt.action_tag
WHERE $__timeFilter(l.start_datetime) AND l.success
GROUP BY l.controller_name, l.action_name, lt.slo_percent
HAVING ROUND((countIf(l.duration_s <= lt.sli_time) / COUNT(*)) * 100, 2) < lt.slo_percent;
```

*ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎ Π°Π»Π΅ΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ SLO*
ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ Π² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΈ Π²ΡΡ, ΡΡΠΎ Π²ΡΠ΄Π°ΡΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΈ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠ»Π°ΡΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠ΅ΡΡ: ΠΏΠΎΡΡΠ°, ΡΠΌΡ, ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ Π°Π»Π΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ:
β Π’ΡΠΆΠ΅Π»ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΠ β % ΠΠ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
%.
β ΠΠ°ΠΏΡΠΎΡΡ ΠΊ ΠΠ β Π±ΠΎΠ»ΡΡΠ΅ 5 000 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠ΅Π½Π°.
β ΠΠ½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² ΡΠΈΠΊΠ»Π΅.
β ΠΠ΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ β Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ CPU.
β ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ° ΠΎΡ 100 ΠΠ.
β Π’ΡΠΈΠ³Π³Π΅ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ β ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΠΊΡΠ΅Π½Ρ Π²ΡΡΠΎΡΠ»Π° Π±ΠΎΠ»Π΅Π΅ 50% ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
β **ΠΠ° Π²ΡΡΠΎΡΡ** β ΠΏΡΠΎΠ³Π½Π°ΡΡ **Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ** ΡΠ΅ΡΠ΅Π· **Π±Π°Π·Ρ ΠΊΠ΅ΠΉΡΠΎΠ²**: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡΠΌ ΠΌΠ΅ΡΡΠΈΠΊ.
## ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
ΠΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ΄Π΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
β ΠΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ (FS, cache, Request/Response size, AMQP, TOP SQL, near/far external requests β¦)
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ (Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΈΠΏΠΎΠ² IDENT/Single/Count/Duration) Ρ Π°Π²ΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΠ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
β ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΠΈ posix shared memory/UDP/TCP)
β ΠΠ΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
β ΠΠΎΠ»ΡΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² (P95/P99β¦), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° (Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΠΎΡΡΡ
β Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π΄Π»Ρ Grafana alerts (+Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ°)
β ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΡΡΠ΅Π½Π΄Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ²)
β Π‘Π²ΡΠ·Π°ΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π° (USE+)
β ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Ρ
β ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠΊΠ°Π·Ρ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ β ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΊΡΠ΅Π½Π°ΠΌ
β ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ LLM, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
β ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»ΠΈΠ½Π³Π° Π°-Π»Ρ pinba Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² (must have Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ)
ΠΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈΡΠ½ΠΈΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Sentry ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ ΠΈ Π²ΡΠ΅Π³Π΄Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
## ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ, ΠΏΠΎΡΡΠΈ Π½Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° (ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ fpm), ΠΌΠ°Π»ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ. SQL Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° β ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ·ΡΠΊ. Π’Π΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎ Π²ΡΠ΅Ρ
ΡΡΠΎΡΠΎΠ½ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ:
β Π ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² pipeline ΡΠΊΡΠ΅Π½Π°. ΠΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΠΠ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π₯ΠΎΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ JSON ΡΠ°ΠΉΠ»Π° Π² Π³ΡΠ°ΡΠ°Π½Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
β ΠΠ½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ Uptrace ΠΈ Sentry ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΡΡΡΡΠ΅Π΅, ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΡΠ°ΡΠΈΠΊ/ΠΌΠ΅ΡΡΠΎ). ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ: ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ°Π·Π½ΡΡ
Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΊΡΠΏΠ΅ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL.
β ΠΠΎΠΊΠ° ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ PHP. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² 200 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ·ΡΠΊΠ° Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
β ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ trace\_id. Π‘ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ trace\_id ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
β Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡ
Π΅ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ SLI ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ (ΠΎΡΠΊΠ°Π·Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΆΠ΅Π»Π΅Π·Π°), ΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π½Π΅Ρ ΠΈ ΠΎΡΠ²Π°Π»ΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π²Ρ
ΠΎΠ΄Π΅ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°/nginx ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΡ ΠΆΠ΅ ΠΠ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ·Π°.
β Prometheus Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΄ΠΎΠ², Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠ°, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π»ΠΎΠΆΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡ
ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ ΡΡΠ°Π·Ρ. ΠΠΌΠ΅ΡΡΠΎ SQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ·ΡΠΊ PromQL, ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ.
## ΠΡΠΎΠ³ΠΈ

ΠΡΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΡΠ°Π» ΠΎΡ Π½Π°Ρ ΠΈ Π·Π°Π½ΡΠ»ΡΡ ΠΌΡΠ·ΡΠΊΠΎΠΉ =)
β Π Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΊΡΠ΅Π½Ρ β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·.
β ΠΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ RED/USE, SLI/Apdex β Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ.
β ΠΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΆΠΈΠ²ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Π’ΠΠΠΎΠ², ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ + ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ.
β Π‘Π²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΠΈΠ·ΠΈΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ»ΡΡΡΠΈΡ ΠΎΡΠ·ΡΠ²Ρ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π°Π·Π²Π°Π»ΠΈ **VESNA.Insight** β ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΡΠΈΡΠ΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ²: Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΠ, CPU, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², RAM, ΠΎΡΠΈΠ±ΠΊΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π’ΠΠΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΠ΅Π½ΠΊΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΊΠ΅ΠΉΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ.
ClickHouse ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΡΡΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ
Π²Π°ΡΠ°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π·Π° 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ³ΡΠ΅Π³Π°ΡΠΈΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅: ΠΏΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ β Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π·Π° ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Grafana Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΡ
Π°ΡΠ· ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ΅Π½ΠΊΠ° ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π° Β«ΠΠΌΠΏΠΎΡΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠ΅Π²ΡΡΠΈΡ Π»ΠΈΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ/RAM ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠ° Π½Π° 200%Β» ΠΈ Π·Π°Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π½ΡΠΆΠ΄ ΠΈ ΡΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π» ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ½ΡΠ΅ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΡΠΌ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΌΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ° β ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΊΠΎΠ², ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², QA ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ β ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ² ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°, ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΆΠ΅Π»ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ². ΠΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΠ°ΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡΠΎΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π― ΠΆΠ΅ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅Π» Π²ΡΠ΅ΠΌΡ, ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΡΡΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ, Π°ΠΊΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΈΠ², Π²ΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΡΡΠΏΠ½ΠΎΠΌ Π»Π΅Π³Π°ΡΠΈ-ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ
Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ². ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ
Π»Π΅Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΆΠΈΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΈ Π²Π΅ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΈΠ΄Π½ΠΎ Π½Π°ΡΠΊΠ²ΠΎΠ·Ρ. Π§ΡΠ²ΡΡΠ²ΡΠ΅ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π±ΠΎΠ»Π΅ΡΡΠ΅Π³ΠΎ Π·Π° ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠ΄Π΅ΠΈ Π²ΡΡ Π½ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΠΈ ΡΡΠΎ Ρ ΠΈΡ
ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ β ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π½ΠΈ Π½Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π² Π³ΡΠ°ΡΠ°Π½Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΠ΅ΡΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΡΠ΄Π° ΡΡΠ° Π΄ΠΎΡΠΎΠΆΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡΠ°Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΡΠΊΡΡΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ±Π΅ΠΆΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ.
## ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ Π²ΡΠΆΠΈΠ»! Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈ Π²Π°Ρ ΠΎΠΏΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Sentry/Uptrace/.. ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π΄Π°ΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³, ΠΏΡΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π°ΡΠΏΠ΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ΄Π±ΡΠΊ! ΠΡΡ Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, Π²Π°Ρ ΡΠ·ΡΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΡΠ΅Π½ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ?), ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ 100% Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ΄ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ.
Π ΡΠ°ΠΊ β Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ Π²ΡΠ΅ΠΌ Π±ΡΡΡΡΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΡΡ
ΡΠΊΡΠ΅Π½ΠΎΠ², ΠΏΡΠΈ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ β ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ\! |
| Shard | 134 (laksa) |
| Root Hash | 14843476518697139734 |
| Unparsed URL | com,habr!/ru/companies/etpgpb_vesna/articles/946000/ s443 |