πŸ•·οΈ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 134 (from laksa191)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

πŸ“„
INDEXABLE
βœ…
CRAWLED
19 days ago
πŸ€–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.6 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://habr.com/ru/companies/etpgpb_vesna/articles/946000/
Last Crawled2026-03-28 11:09:16 (19 days ago)
First Indexed2025-09-11 10:35:11 (7 months ago)
HTTP Status Code200
Meta TitleΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ бэкСнда с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ClickHouse ΠΈ Grafana. Π§Π°ΡΡ‚ΡŒ 3 / Π₯Π°Π±Ρ€
Meta DescriptionБсылка Π½Π° Ρ‡Π°ΡΡ‚ΡŒ 1 Бсылка Π½Π° Ρ‡Π°ΡΡ‚ΡŒ 2 ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π― Артём Π‘Π΅Π΄Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ банковского сопровоТдСния. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΡƒΠΆΠ΅ дСвятый Π³ΠΎΠ΄, накопилась большая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ...
Meta Canonicalnull
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://habrastorage.org/getpro/habr/company/f4f/29f/9d3/f4f29f9d312a85b3b1abe9bcfcad1ab8.png)](https://habr.com/ru/companies/etpgpb_vesna/profile/) [ЭВП Π“ΠŸΠ‘ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/profile/) 4,37 ΠžΡ†Π΅Π½ΠΊΠ° работодатСля 46,89 Π Π΅ΠΉΡ‚ΠΈΠ½Π³ 27 ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΠΈ ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ [![](https://habrastorage.org/r/w48/getpro/habr/avatars/7c1/033/627/7c10336274775082efe7d847711b0f26.jpeg)](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. `ΠžΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ большС влияния Π½Π° врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы` Для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ чСткости ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅. ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ расслСдования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²](https://habrastorage.org/r/w1560/getpro/habr/upload_files/629/d2f/86a/629d2f86a7ef45cadc3a7ad7d72334ee.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ расслСдования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²* Π’ΡƒΡ‚ ΡƒΠΆΠ΅ вступаСт Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π° всё Π»ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ: Ссли Π΅ΡΡ‚ΡŒ тяТСлый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π° ВОПов, здСсь ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚. На Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ запросы ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΡŽΠ·Π΅Ρ€Π° с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ Π½ΠΈΠΌ статистику. Часто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: Ссли Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°Ρ… Π²ΠΈΠ΄Π½ΠΎ аномалию, этот Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚. ### Π”Π°ΡˆΠ±ΠΎΡ€Π΄ 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 ![Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f51/94c/ed6/f5194ced6f26253d498ee0f5f9cdf429.png) Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания SLI](https://habrastorage.org/r/w1560/getpro/habr/upload_files/65e/62e/a88/65e62ea88317d5e05278327c48a441e6.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания SLI* Π’ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, Ρ‚Π°ΠΊ ΠΈ с Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ Ρ‚Π΅Π³Π°ΠΌ ΠΈ экшСнам. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π²ΠΈΠ΄Π½ΠΎ тяТСлыС ΡΠΊΡˆΠ΅Π½Ρ‹ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ SLI с сортировкой ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡƒ %. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ стоит Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ красной Π·ΠΎΠ½Ρ‹. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ характСристику ΠΈΠΌΠΏΠ°ΠΊΡ‚Π° Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎ систСмС: ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, экшСн А Π²Ρ‹Π·Π²Π°Π»ΠΈ всСго 2 Ρ€Π°Π·Π° Π·Π° дСнь, ΠΎΠ½ Π½Π°Ρ€ΡƒΡˆΠΈΠ» сроки ΠΈ находится Π² красной Π·ΠΎΠ½Π΅, Π° экшСн Π‘ Π²Ρ‹Π·Π²Π°Π»ΠΈ 10 000 Ρ€Π°Π·, Π½ΠΎ ΠΎΠ½ ΠΎΠ±ΠΈΡ‚Π°Π΅Ρ‚ Π² ΠΆΠ΅Π»Ρ‚ΠΎΠΉ Π·ΠΎΠ½Π΅ – всё ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ Π΄ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ экшСна А. Π­Ρ‚Π° характСристика даст большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ понимания ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Apdex ![Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля](https://habrastorage.org/r/w1560/getpro/habr/upload_files/250/b49/652/250b49652f50da314285e78050165eb5.png) Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания Apdex](https://habrastorage.org/r/w1560/getpro/habr/upload_files/7d4/b02/6ac/7d4b026acb886dd79172f1992f19b130.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания 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](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ff6/1b2/559/ff61b255953cc901cf18db31a79d2393.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания Apdex для отслСТивания ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Apdex* ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ бизнСс-понятия панСль с состояниСм Apdex Π·Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Grafana чСловСчСскими словами. ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ (+-0.xx). ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎ количСствС запросов. ● ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ бизнСс-понятия Π»ΠΈΠ±ΠΎ вывСсти всС сразу. КаТдая ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° своС врСмя Apdex, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ самого индСкса ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π”Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ срСдство ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° состояния систСмы для ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ², бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ², Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… заинтСрСсованных Π»ΠΈΡ†. ### Π”Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ прогнозирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСнов ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΈ наблюдСнии Π·Π° статистикой ΠΏΠΎ экшСнам появилась ΠΌΡ‹ΡΠ»ΡŒ: *«Ссли Ρƒ нас Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ статистика ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСна ΠΈ Π΅ΡΡ‚ΡŒ числовыС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π½Π° ΠΊΠ°ΠΊΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… выполнялся экшСн, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π·Π°ΠΉΡ‚ΠΈ дальшС ΠΈ Π½Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ сСбя ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ экшСн Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ ростС этих ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ?Β».* Π‘ΠΊΠ°Π·Π°Π½ΠΎ – сдСлано: кастомный инструмСнт ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· ΠΏΠΎΠΊΠ°Π·Π°Π», насколько быстро ΠΈ Π³ΠΈΠ±ΠΊΠΎ получаСтся Π½Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ лишь Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠ΅ΠΉ ΠΈ Π·Π΄Ρ€Π°Π²Ρ‹ΠΌ смыслом. `Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ статистичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ экшСна.` ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ основаны Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… матСматичСской статистики ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΈ аномалиях ΠΈΠ»ΠΈ нСдостаточном количСствС Π΄Π°Π½Π½Ρ‹Ρ…. Π’ основС стоит Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ экшСном рСсурса (врСмя ΠΈ RAM) зависит ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставлСн количСством SQL-запросов Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡ… выполнСния. Если ΠΆΠ΅ экшСн ΠΏΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Π½Π΅ мСняСт количСство ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SQL-запросов, ΠΊΠΎΡ€Ρ€Π΅Π»ΡΡ†ΠΈΡŽ этим Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π½Π΅ получится. ![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/dd0/136/ec0/dd0136ec0c02d5b6a3564691a8bf1b9e.png) Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ выполняСтся ΠΎΡ†Π΅Π½ΠΊΠ° слоТности 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](https://habrastorage.org/r/w1560/getpro/habr/upload_files/123/4ba/c21/1234bac21dcad3e3d49895b6395584ac.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° import* ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ● ВрСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ количСства SQL-запросов. БтСпСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n^3) ΠΌΠΎΠΆΠ΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²ΠΈΠ΄Π° for-for-for с тяТСлой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅, стоит ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. ● ВрСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов, здСсь ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта списка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ рССстра ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ Π² XLSX ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/630/e24/700/630e2470063551097daa6cdfc1362a91.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ● ВрСмя экспорта Π½Π΅ зависит ΠΎΡ‚ количСства SQL-запросов (количСство запросов Π½Π΅ мСняСтся, Π° врСмя растСт) – ΠΎΡ†Π΅Π½ΠΊΠ° слоТности Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. ● ВрСмя экспорта ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов. БСйчас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ ростС объСма Π΄Π°Π½Π½Ρ‹Ρ… наступит Π»ΠΈΠΌΠΈΡ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. **ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π² зависимости ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…** Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° содСрТит Π² сСбС ΠΈ собствСнно врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ SQL-запросов (Π° ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈ пытаСмся ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ). Как Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΉΡ‚ΠΈ слоТныС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ самого ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° запросов ΠΊ Π‘Π”? ΠŸΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΈ минус врСмя ΠΈΠ· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Ρ‚ΠΈΠΏΠ° Duration. ΠžΡΡ‚Π°Π½Π΅Ρ‚ΡΡ Ρ‚. Π½. врСмя CPU, Π½Π΅ ΡƒΡ‡Ρ‚Π΅Π½Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… Duration. ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΉ slope Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU, скорСС всСго, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄: нСдостаточно эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹; ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экспорта списка ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ заявки. ΠžΡ†Π΅Π½ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° O(n^0.36) ΠΈ O(n^0.41). Однако Ссли ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ врСмя Π±Π΅Π· Π‘Π” ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… запросов: ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c21/690/6f4/c216906f44a49923c1f7529cbb4982e8.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ВрСмя CPU Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ количСства SQL-запросов. Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ нСэффСктивном использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мСдлСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° экспорта – phpspreadsheet). ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, которая распаковываСт xlsx ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с xml, ΠΊΠ°ΠΊ со строками, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. ![Π’ΠΎΡ‚ ΠΆΠ΅ экшСн послС внСдрСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ](https://habrastorage.org/r/w1560/getpro/habr/upload_files/b36/97c/8f0/b3697c8f022af9818c6ffc1936143cb0.png) *Π’ΠΎΡ‚ ΠΆΠ΅ экшСн послС внСдрСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ* **ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· использования RAM Π² зависимости ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…** ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта списка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² XLSX ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности потрСблСния RAM Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/27c/960/925/27c960925d29efec3b64cef20881ff0f.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности потрСблСния RAM Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм задСйствованной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов. Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ нСэффСктивном использовании RAM (Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° phpspreadsheet, которая Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ объСма ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти). **Π”Π°ΡˆΠ±ΠΎΡ€ ВОПов экшСнов ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности** ![Π’ΠžΠŸΡ‹ ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности срСди экшСнов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° request](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a53/ccf/a66/a53ccfa66b51d24fb2e07183c11aa83c.png) *Π’ΠžΠŸΡ‹ ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности срСди экшСнов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° request* Аналогично Ρ€Π°Π·Π΄Π΅Π»Ρƒ ВОПов Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ составлСн для быстрого поиска экшСнов с высокой ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ слоТности ΠΏΠΎ пСрСчислСнным критСриям. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΡΠΊΡˆΠ΅Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² пСрспСктивС ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ тяТСлыми ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ объСмов Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ‚ JSON Statham с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Π½Π΅ стоит Π²Π΅Ρ€ΠΈΡ‚ΡŒ статистикС: Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ высокая ΠΎΡ†Π΅Π½ΠΊΠ° слоТности ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡΠΊΡˆΠ΅Π½Ρƒ Π² пСрспСктивС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ экшСн Π»ΡƒΡ‡ΡˆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ статистику: ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ объСм Π΄Π°Π½Π½Ρ‹Ρ…; ΠΊΠ°ΠΊ часто экшСн вызываСтся; насколько Π²Π°ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ΠžΡ†Π΅Π½ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рассчитана Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ: ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΡˆΡƒΠΌΡ‹ ΠΈΠ»ΠΈ нСдостаток Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡˆΠ΅Π½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ## АвтоматичСскиС оповСщСния Аналитики с Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² ΡƒΠΆΠ΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π½Π° мСсяцы Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ пСрспСктивС понадобятся автоматичСскиС рассылки ΠΏΡ€ΠΈ Ρ€Π΅Π·ΠΊΠΎΠΌ сниТСнии ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСна. ВозмоТности Grafana alerts ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° рассылок, Π° составлСниС запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL развязываСт Ρ€ΡƒΠΊΠΈ Π² ΠΏΠ»Π°Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² событий. ![Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Grafana для настройки автоматичСских ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ](https://habrastorage.org/r/w1560/getpro/habr/upload_files/952/651/ccd/952651ccd6f68b2c1b6fdcd91b958396.png) *Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Grafana для настройки автоматичСских ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ* ![ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Π°Π»Π΅Ρ€Ρ‚Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса: сработаСт ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ 4 сСкунд](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8fd/065/c2d/8fd065c2df6e07aaf81c2b62bf11f3cd.png) *ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Π°Π»Π΅Ρ€Ρ‚Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса: сработаСт ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ 4 сСкунд* Π’ΡƒΡ‚ ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° с настройками ΠΏΠΎ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ показатСлям SLI: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π»Π΅Ρ€Ρ‚ со списком экшСнов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ€ΡƒΡˆΠΈΠ»ΠΈ SLO Π·Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. ``` ``` ![ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠΎ Π°Π»Π΅Ρ€Ρ‚Ρƒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ SLO](https://habrastorage.org/r/w1560/getpro/habr/upload_files/175/962/8b6/1759628b60c9af4fd2c25b1e738caf17.png) *ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠΎ Π°Π»Π΅Ρ€Ρ‚Ρƒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ 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, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΡƒΡ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½ для слоТных аналитичСских запросов ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с синтаксисом. ## Π˜Ρ‚ΠΎΠ³ΠΈ ![ Π“ΡƒΡΡŒ Π½Π°ΠΊΠΎΠ½Π΅Ρ† отстал ΠΎΡ‚ нас ΠΈ занялся ΠΌΡƒΠ·Ρ‹ΠΊΠΎΠΉ =)](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e43/898/34a/e4389834a3b013fc658ceb73b40fd146.png) Π“ΡƒΡΡŒ Π½Π°ΠΊΠΎΠ½Π΅Ρ† отстал ΠΎΡ‚ нас ΠΈ занялся ΠΌΡƒΠ·Ρ‹ΠΊΠΎΠΉ =) ● Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΡ€ΠΈΡ†Π΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΡΠΊΡˆΠ΅Π½Ρ‹ – ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·. ● МоТно Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ стандартами 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://habrastorage.org/getpro/habr/company/f4f/29f/9d3/f4f29f9d312a85b3b1abe9bcfcad1ab8.png)](https://habr.com/ru/companies/etpgpb_vesna/profile/) [ЭВП Π“ΠŸΠ‘ / VESNA](https://habr.com/ru/companies/etpgpb_vesna/profile/) [Π‘Π°ΠΉΡ‚](https://vesna-group.ru/) [![](https://habrastorage.org/getpro/habr/avatars/7c1/033/627/7c10336274775082efe7d847711b0f26.jpeg)](https://habr.com/ru/users/chronoexp/) 5 ΠšΠ°Ρ€ΠΌΠ° АртСм Π‘Π΅Π΄Ρ‹Ρ…[@chronoexp](https://habr.com/ru/users/chronoexp/) Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠŸΠΎΡ‚ΠΎΠΊ БэкСнд доступСн 24/7 благодаря ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π΄Ρ€ΡƒΠ·Π΅ΠΉ Π₯Π°Π±Ρ€Π° ![Π₯Π°Π±Ρ€ ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π° ΠšΡƒΡ€ΡΡ‹](https://habrastorage.org/webt/qq/ey/pn/qqeypn-py71suynxbusbakjdfjw.png) Π₯Π°Π±Ρ€ ΠšΡƒΡ€ΡΡ‹ для бэкСндСров Π Π•ΠšΠ›ΠΠœΠ ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ, Π₯СкслСт, 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. `ΠžΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ большС влияния Π½Π° врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы` Для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ чСткости ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅. ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ расслСдования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²](https://habrastorage.org/r/w1560/getpro/habr/upload_files/629/d2f/86a/629d2f86a7ef45cadc3a7ad7d72334ee.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ расслСдования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²* Π’ΡƒΡ‚ ΡƒΠΆΠ΅ вступаСт Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π° всё Π»ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ: Ссли Π΅ΡΡ‚ΡŒ тяТСлый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π° ВОПов, здСсь ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚. На Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ запросы ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΡŽΠ·Π΅Ρ€Π° с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ Π½ΠΈΠΌ статистику. Часто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: Ссли Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°Ρ… Π²ΠΈΠ΄Π½ΠΎ аномалию, этот Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚. ### Π”Π°ΡˆΠ±ΠΎΡ€Π΄ 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 ![Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f51/94c/ed6/f5194ced6f26253d498ee0f5f9cdf429.png) Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания SLI](https://habrastorage.org/r/w1560/getpro/habr/upload_files/65e/62e/a88/65e62ea88317d5e05278327c48a441e6.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания SLI* Π’ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, Ρ‚Π°ΠΊ ΠΈ с Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ Ρ‚Π΅Π³Π°ΠΌ ΠΈ экшСнам. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π²ΠΈΠ΄Π½ΠΎ тяТСлыС ΡΠΊΡˆΠ΅Π½Ρ‹ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ SLI с сортировкой ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡƒ %. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ стоит Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ красной Π·ΠΎΠ½Ρ‹. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ характСристику ΠΈΠΌΠΏΠ°ΠΊΡ‚Π° Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎ систСмС: ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, экшСн А Π²Ρ‹Π·Π²Π°Π»ΠΈ всСго 2 Ρ€Π°Π·Π° Π·Π° дСнь, ΠΎΠ½ Π½Π°Ρ€ΡƒΡˆΠΈΠ» сроки ΠΈ находится Π² красной Π·ΠΎΠ½Π΅, Π° экшСн Π‘ Π²Ρ‹Π·Π²Π°Π»ΠΈ 10 000 Ρ€Π°Π·, Π½ΠΎ ΠΎΠ½ ΠΎΠ±ΠΈΡ‚Π°Π΅Ρ‚ Π² ΠΆΠ΅Π»Ρ‚ΠΎΠΉ Π·ΠΎΠ½Π΅ – всё ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ Π΄ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ экшСна А. Π­Ρ‚Π° характСристика даст большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ понимания ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Apdex ![Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля](https://habrastorage.org/r/w1560/getpro/habr/upload_files/250/b49/652/250b49652f50da314285e78050165eb5.png) Π€ΠΎΡ€ΠΌΡƒΠ»Π° расчСта показатСля ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания Apdex](https://habrastorage.org/r/w1560/getpro/habr/upload_files/7d4/b02/6ac/7d4b026acb886dd79172f1992f19b130.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания 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](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ff6/1b2/559/ff61b255953cc901cf18db31a79d2393.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ отслСТивания Apdex для отслСТивания ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Apdex* ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ бизнСс-понятия панСль с состояниСм Apdex Π·Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Grafana чСловСчСскими словами. ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ (+-0.xx). ● ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎ количСствС запросов. ● ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ бизнСс-понятия Π»ΠΈΠ±ΠΎ вывСсти всС сразу. КаТдая ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° своС врСмя Apdex, ΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ самого индСкса ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π”Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ срСдство ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° состояния систСмы для ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ², бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ², Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… заинтСрСсованных Π»ΠΈΡ†. ### Π”Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ прогнозирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСнов ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΈ наблюдСнии Π·Π° статистикой ΠΏΠΎ экшСнам появилась ΠΌΡ‹ΡΠ»ΡŒ: *«Ссли Ρƒ нас Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ статистика ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСна ΠΈ Π΅ΡΡ‚ΡŒ числовыС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π½Π° ΠΊΠ°ΠΊΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… выполнялся экшСн, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π·Π°ΠΉΡ‚ΠΈ дальшС ΠΈ Π½Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ сСбя ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ экшСн Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ ростС этих ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ?Β».* Π‘ΠΊΠ°Π·Π°Π½ΠΎ – сдСлано: кастомный инструмСнт ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· ΠΏΠΎΠΊΠ°Π·Π°Π», насколько быстро ΠΈ Π³ΠΈΠ±ΠΊΠΎ получаСтся Π½Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ лишь Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠ΅ΠΉ ΠΈ Π·Π΄Ρ€Π°Π²Ρ‹ΠΌ смыслом. `Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ статистичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ экшСна.` ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ основаны Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… матСматичСской статистики ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΈ аномалиях ΠΈΠ»ΠΈ нСдостаточном количСствС Π΄Π°Π½Π½Ρ‹Ρ…. Π’ основС стоит Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ экшСном рСсурса (врСмя ΠΈ RAM) зависит ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставлСн количСством SQL-запросов Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡ… выполнСния. Если ΠΆΠ΅ экшСн ΠΏΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Π½Π΅ мСняСт количСство ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SQL-запросов, ΠΊΠΎΡ€Ρ€Π΅Π»ΡΡ†ΠΈΡŽ этим Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π½Π΅ получится. ![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/dd0/136/ec0/dd0136ec0c02d5b6a3564691a8bf1b9e.png) Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ выполняСтся ΠΎΡ†Π΅Π½ΠΊΠ° слоТности 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](https://habrastorage.org/r/w1560/getpro/habr/upload_files/123/4ba/c21/1234bac21dcad3e3d49895b6395584ac.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° import* ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ● ВрСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ количСства SQL-запросов. БтСпСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n^3) ΠΌΠΎΠΆΠ΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²ΠΈΠ΄Π° for-for-for с тяТСлой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅, стоит ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. ● ВрСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов, здСсь ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта списка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ рССстра ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ Π² XLSX ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/630/e24/700/630e2470063551097daa6cdfc1362a91.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ● ВрСмя экспорта Π½Π΅ зависит ΠΎΡ‚ количСства SQL-запросов (количСство запросов Π½Π΅ мСняСтся, Π° врСмя растСт) – ΠΎΡ†Π΅Π½ΠΊΠ° слоТности Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. ● ВрСмя экспорта ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов. БСйчас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ ростС объСма Π΄Π°Π½Π½Ρ‹Ρ… наступит Π»ΠΈΠΌΠΈΡ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. **ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π² зависимости ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…** Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° содСрТит Π² сСбС ΠΈ собствСнно врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ SQL-запросов (Π° ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈ пытаСмся ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ). Как Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΉΡ‚ΠΈ слоТныС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ самого ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° запросов ΠΊ Π‘Π”? ΠŸΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΈ минус врСмя ΠΈΠ· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Ρ‚ΠΈΠΏΠ° Duration. ΠžΡΡ‚Π°Π½Π΅Ρ‚ΡΡ Ρ‚. Π½. врСмя CPU, Π½Π΅ ΡƒΡ‡Ρ‚Π΅Π½Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… Duration. ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΉ slope Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU, скорСС всСго, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄: нСдостаточно эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹; ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экспорта списка ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ заявки. ΠžΡ†Π΅Π½ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° O(n^0.36) ΠΈ O(n^0.41). Однако Ссли ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ врСмя Π±Π΅Π· Π‘Π” ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… запросов: ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c21/690/6f4/c216906f44a49923c1f7529cbb4982e8.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ВрСмя CPU Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ количСства SQL-запросов. Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ нСэффСктивном использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мСдлСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° экспорта – phpspreadsheet). ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, которая распаковываСт xlsx ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с xml, ΠΊΠ°ΠΊ со строками, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. ![Π’ΠΎΡ‚ ΠΆΠ΅ экшСн послС внСдрСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ](https://habrastorage.org/r/w1560/getpro/habr/upload_files/b36/97c/8f0/b3697c8f022af9818c6ffc1936143cb0.png) *Π’ΠΎΡ‚ ΠΆΠ΅ экшСн послС внСдрСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ* **ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· использования RAM Π² зависимости ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…** ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта списка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² XLSX ![Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности потрСблСния RAM Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export](https://habrastorage.org/r/w1560/getpro/habr/upload_files/27c/960/925/27c960925d29efec3b64cef20881ff0f.png) *Π”Π°ΡˆΠ±ΠΎΡ€Π΄ прогнозирования слоТности потрСблСния RAM Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экшСна Ρ‚ΠΈΠΏΠ° export* ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм задСйствованной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL-запросов. Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ нСэффСктивном использовании RAM (Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° phpspreadsheet, которая Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ объСма ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти). **Π”Π°ΡˆΠ±ΠΎΡ€ ВОПов экшСнов ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности** ![Π’ΠžΠŸΡ‹ ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности срСди экшСнов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° request](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a53/ccf/a66/a53ccfa66b51d24fb2e07183c11aa83c.png) *Π’ΠžΠŸΡ‹ ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ΅ слоТности срСди экшСнов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° request* Аналогично Ρ€Π°Π·Π΄Π΅Π»Ρƒ ВОПов Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ составлСн для быстрого поиска экшСнов с высокой ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ слоТности ΠΏΠΎ пСрСчислСнным критСриям. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΡΠΊΡˆΠ΅Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² пСрспСктивС ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ тяТСлыми ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ объСмов Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ‚ JSON Statham с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Π½Π΅ стоит Π²Π΅Ρ€ΠΈΡ‚ΡŒ статистикС: Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ высокая ΠΎΡ†Π΅Π½ΠΊΠ° слоТности ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡΠΊΡˆΠ΅Π½Ρƒ Π² пСрспСктивС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ экшСн Π»ΡƒΡ‡ΡˆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ статистику: ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ объСм Π΄Π°Π½Π½Ρ‹Ρ…; ΠΊΠ°ΠΊ часто экшСн вызываСтся; насколько Π²Π°ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ΠžΡ†Π΅Π½ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рассчитана Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ: ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΡˆΡƒΠΌΡ‹ ΠΈΠ»ΠΈ нСдостаток Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡˆΠ΅Π½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ## АвтоматичСскиС оповСщСния Аналитики с Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² ΡƒΠΆΠ΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π½Π° мСсяцы Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ пСрспСктивС понадобятся автоматичСскиС рассылки ΠΏΡ€ΠΈ Ρ€Π΅Π·ΠΊΠΎΠΌ сниТСнии ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСна. ВозмоТности Grafana alerts ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° рассылок, Π° составлСниС запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL развязываСт Ρ€ΡƒΠΊΠΈ Π² ΠΏΠ»Π°Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² событий. ![Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Grafana для настройки автоматичСских ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ](https://habrastorage.org/r/w1560/getpro/habr/upload_files/952/651/ccd/952651ccd6f68b2c1b6fdcd91b958396.png) *Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Grafana для настройки автоматичСских ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ* ![ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Π°Π»Π΅Ρ€Ρ‚Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса: сработаСт ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ 4 сСкунд](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8fd/065/c2d/8fd065c2df6e07aaf81c2b62bf11f3cd.png) *ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Π°Π»Π΅Ρ€Ρ‚Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса: сработаСт ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ 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](https://habrastorage.org/r/w1560/getpro/habr/upload_files/175/962/8b6/1759628b60c9af4fd2c25b1e738caf17.png) *ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠΎ Π°Π»Π΅Ρ€Ρ‚Ρƒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ 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, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΡƒΡ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½ для слоТных аналитичСских запросов ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с синтаксисом. ## Π˜Ρ‚ΠΎΠ³ΠΈ ![ Π“ΡƒΡΡŒ Π½Π°ΠΊΠΎΠ½Π΅Ρ† отстал ΠΎΡ‚ нас ΠΈ занялся ΠΌΡƒΠ·Ρ‹ΠΊΠΎΠΉ =)](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e43/898/34a/e4389834a3b013fc658ceb73b40fd146.png) Π“ΡƒΡΡŒ Π½Π°ΠΊΠΎΠ½Π΅Ρ† отстал ΠΎΡ‚ нас ΠΈ занялся ΠΌΡƒΠ·Ρ‹ΠΊΠΎΠΉ =) ● Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΡ€ΠΈΡ†Π΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΡΠΊΡˆΠ΅Π½Ρ‹ – ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·. ● МоТно Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ стандартами RED/USE, SLI/Apdex – Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. ● НС просто ΠΆΠΈΠ²Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π½ΠΎ ΠΈ статистика Π²Ρ€ΠΎΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ВОПов, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с автоматичСскими оповСщСниями + ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹. ● БвоСврСмСнная оптимизация снизит Ρ‚Ρ€Π΅Π²ΠΎΠ³Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π½Π°Π·Π²Π°Π»ΠΈ **VESNA.Insight** – систСма Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСрвисов с ΠΏΡ€ΠΈΡ†Π΅Π»ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ аспСкты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ тысячи экшСнов: врСмя выполнСния, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Π‘Π”, CPU, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ HTTP-запросов, RAM, ошибки. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ дСйствий ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ аспСктам ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ всСй Π³Ρ€ΡƒΠΏΠΏΡ‹ с отслСТиваниСм выполнСния Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ быстро Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ. Благодаря Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρƒ ВОПов создаСм нСсколько Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² СТСнСдСльно, сокращаСт врСмя Π½Π° поиск ΡƒΠ·ΠΊΠΈΡ… мСст. КаТдой Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΠΎΠΌΠΈΠΌΠΎ описания дСйствия Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ Ρ†Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ критичности ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ аспСкты Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΡ†Π΅Π½ΠΊΡƒ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ прСдсказаниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… кСйсов Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. ClickHouse ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΡˆΡƒΡΡ‚Ρ€ΠΎ, индСкса ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС пСрСчислСнныС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 1 сСкунду. АгрСгации ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅: ΠΏΡ€ΠΈ отрисовкС глобальной статистики – Π΄Π°ΠΆΠ΅ Π±Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ – дСсятки ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π° ΠΏΠ°Ρ€Ρƒ сСкунд. Благодаря Grafana с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΡ…Π°ΡƒΠ· ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ автоматичСскиС увСдомлСния ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ настроСнных Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ всСм отслСТиваСмым аспСктам ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСрвиса. ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния Π²ΠΈΠ΄Π° Β«Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… прСвысит Π»ΠΈΠΌΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ/RAM ΠΏΡ€ΠΈ ростС объСма Π½Π° 200%Β» ΠΈ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ рСсурсы Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Ρ€Π°Π½Π΅Π΅. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ разрабатывался для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π½ΡƒΠΆΠ΄ ΠΈ ΡƒΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π» просто Ρ€ΡƒΡ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ примСнСния ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹ΠΌ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСрвиса. Для ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм это гарантия бСспСрСбойности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с самыми Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°ΠΌΠΈ. Для ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° – сниТСниС рисков, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠΉ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСрвисами. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², QA ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ – ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ нСудобств ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°, мСньшС ΠΎΡ‚Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ, большС ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тяТСлых экшСнов. Ну ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†, для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ – отсутствиС ΠΏΠΎΠ΄Ρ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… экшСнов ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° позволяСт спокойно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² систСмС. Π― ΠΆΠ΅ с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Π» врСмя, Ρ€Π°Π·Π±ΠΈΡ€Π°ΡΡΡŒ Π² тонкостях ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, аспСктах ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ, Π°ΠΊΠΈ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠ², выслСТивал ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста Π² ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌ лСгаси-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ построСния Π½ΡƒΠΆΠ½Ρ‹Ρ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ². ПослС Π΄ΠΎΠ»Π³ΠΈΡ… Π»Π΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° Π»ΠΎΠ³ΠΎΠ² Π½Π°ΠΊΠΎΠ½Π΅Ρ† появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΆΠΈΠ²Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΠΈ вСсь бэкСнд становится Π²ΠΈΠ΄Π½ΠΎ насквозь. ЧувствуСтся осущСствлСниС ΠΌΠΎΠ΅ΠΉ ΠΌΠ΅Ρ‡Ρ‚Ρ‹, ΠΊΠ°ΠΊ бэкСнд-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π±ΠΎΠ»Π΅ΡŽΡ‰Π΅Π³ΠΎ Π·Π° свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. НСсколько Ρ€Π°Π· Π² мСсяц Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ΄Π΅ΠΈ всё Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² ΠΈ Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ – Ρ‚Π°ΠΊΠΎΠΉ инструмСнт позволяСт быстро ΠΈ просто Π·Π° считанныС Π΄Π½ΠΈ Π½Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π² Π³Ρ€Π°Ρ„Π°Π½Ρƒ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅. Π’Π΅ΡΡŒΠΌΠ° интСрСсно, ΠΊΡƒΠ΄Π° эта Π΄ΠΎΡ€ΠΎΠΆΠΊΠ° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ Π² дальнСйшСм, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡŽΠ°Π½ΡΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ получится Π²ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ€ΡƒΠ±Π΅ΠΆΠΈ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ. ## ПослСсловиС ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо всСм, ΠΊΡ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΈ Π²Ρ‹ΠΆΠΈΠ»! Π’ коммСнтариях ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ инструмСнт, Π½ΠΎ ΠΈ ваш ΠΎΠΏΡ‹Ρ‚ внСдрСния ΠΈΠ»ΠΈ использования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. ОсобСнно Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Sentry/Uptrace/.. ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚, Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ свой Π°Π½Π°Π»ΠΎΠ³, ΠΏΡ€ΠΎΡˆΡƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ впСчатлСниях использования этих инструмСнтов ΠΈ ΠΊΠ°ΠΊΠΎΠΉ аспСкт большС всСго пригодился. РазумССтся, Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ. Бпасибо Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Ρ†Π΅Π½Π½Ρ‹ΠΉ фидбэк! Π•Ρ‰Ρ‘ хочСтся ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π±Ρ‹ пригодился ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт Π² вашСм языкС (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚, ваш язык ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ встроСнный инструмСнт ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ экшСнов ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ трСбуСтся?), ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ 100% Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ бСсполСзны. А Ρ‚Π°ΠΊ – хочСтся ΠΏΠΎΠΆΠ΅Π»Π°Ρ‚ΡŒ всСм быстрых сСрвисов ΠΈ Π±Π΅Π·ΠΎΡ‚ΠΊΠ°Π·Π½Ρ‹Ρ… экшСнов, ΠΏΡ€ΠΈ всСм этом – спокойной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π”ΠΎ встрСчи\!
Shard134 (laksa)
Root Hash14843476518697139734
Unparsed URLcom,habr!/ru/companies/etpgpb_vesna/articles/946000/ s443