Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° настройка Π½Π° PostgreSQL: СкспСримСнти с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.β€œ Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π²ΠΈ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ стСнограмата Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² β€žΠ˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° настройка Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈβ€œ

Shared_buffers = 25% – ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈ Π΅ ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠΎ? Или Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠ°? Как Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Ρ‚Π°Π·ΠΈ - доста остаряла - ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠ° Π΅ подходяща във вашия ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ случай?

Π’Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠΌ към Π²ΡŠΠΏΡ€ΠΎΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° postgresql.conf β€žΠΊΠ°Ρ‚ΠΎ Π²ΡŠΠ·Ρ€Π°ΡΡ‚Π΅Π½β€œ. НС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° слСпи "Π°Π²Ρ‚ΠΎ Ρ‚ΡƒΠ½Π΅Ρ€ΠΈ" ΠΈΠ»ΠΈ остарСли ΡΡŠΠ²Π΅Ρ‚ΠΈ ΠΎΡ‚ статии ΠΈ Π±Π»ΠΎΠ³ΠΎΠ²Π΅, Π° въз основа Π½Π°:

  1. строго ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π² Π³ΠΎΠ»Π΅ΠΌΠΈ количСства ΠΈ ΠΏΡ€ΠΈ условия, максимално Π±Π»ΠΈΠ·ΠΊΠΈ Π΄ΠΎ β€žΠ±ΠΎΠΉΠ½ΠΈΡ‚Π΅β€œ,
  2. дълбоко Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° характСристикитС Π½Π° Π‘Π£Π‘Π” ΠΈ ОБ.

ИзползванС Π½Π° Nancy CLI (https://gitlab.com/postgres.ai/nancy), Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - прословутитС shared_buffers - Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ситуации, Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° настройка Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° инфраструктура, Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π©Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° СкспСримСнти с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ история, която ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΡˆΠ΅ΡΡ‚ мСсСца.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Малко Π·Π° ΠΌΠ΅Π½. ΠžΠΏΠΈΡ‚ с Postgres ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 14 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. БъздадСни са Ρ€Π΅Π΄ΠΈΡ†Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π·Π° социални ΠΌΡ€Π΅ΠΆΠΈ. Postgres бСшС ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° навсякъдС.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° RuPostgres Π½Π° Meetup, 2-Ρ€ΠΎ място Π² свСта. Π‘Π°Π²Π½ΠΎ Π½Π°Π±Π»ΠΈΠΆΠ°Π²Π°ΠΌΠ΅ 2 Π΄ΡƒΡˆΠΈ. RuPostgres.org.

И Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Highload, Π°Π· отговарям Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎ-спСциално Postgres ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И ΠΏΡ€Π΅Π· послСднитС няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ рСстартирах консултантската си ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² Postgres 11 часови Π·ΠΎΠ½ΠΈ ΠΎΡ‚ Ρ‚ΡƒΠΊ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΈΠΌΠ°Ρ… извСстна ΠΏΠ°ΡƒΠ·Π° Π² Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Ρ€ΡŠΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Postgres, вСроятно ΠΎΡ‚ 2010 Π³. Бях ΠΈΠ·Π½Π΅Π½Π°Π΄Π°Π½ ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°Π»ΠΊΠΎ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° Ρ€ΡƒΡ‚ΠΈΠ½Π° Π½Π° DBA ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Ρ€ΡŠΡ‡Π΅Π½ Ρ‚Ρ€ΡƒΠ΄ всС ΠΎΡ‰Π΅ трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. И Π²Π΅Π΄Π½Π°Π³Π° си помислих, Ρ‡Π΅ Ρ‚ΡƒΠΊ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄, трябва Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ всичко.

И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всичко бСшС дистанционно, ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ бяха Π² ΠΎΠ±Π»Π°Ρ†ΠΈΡ‚Π΅. И ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‡Π΅ са Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎ-късно. ВоСст всичко Ρ‚ΠΎΠ²Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ идСята, Ρ‡Π΅ трябва Π΄Π° ΠΈΠΌΠ° Ρ€Π΅Π΄ΠΈΡ†Π° инструмСнти, Ρ‚.Π΅. някаква ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, която Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всички дСйствия Π½Π° DBA, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС управляват голям Π±Ρ€ΠΎΠΉ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π’ΠΎΠ·ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ няма Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°:

  • β€žΠ‘Ρ€Π΅Π±ΡŠΡ€Π½ΠΈ ΠΊΡƒΡ€ΡˆΡƒΠΌΠΈβ€œ ΠΈ Ρ‚Π²ΡŠΡ€Π΄Π΅Π½ΠΈΡ ΠΊΠ°Ρ‚ΠΎ - Π·Π°Π΄Π°ΠΉΡ‚Π΅ 8 GB ΠΈΠ»ΠΈ 25% shared_buffers ΠΈ Ρ‰Π΅ сС ΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅. Няма Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° shared_buffers.
  • Π₯Π°Ρ€Π΄ΠΊΠΎΡ€ "Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ".

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Какво Ρ‰Π΅ сС случи?

  • Π©Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ Π·Π° оптимизация, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅. Π©Π΅ ΠΈΠΌΠ° всякакви ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ ΠΏΠΎ ΠΏΡŠΡ‚Ρ, ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ създавамС Π² ΠΏΠΎ-голямата си част Π² Open Source, Ρ‚.Π΅. Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠΌ основата Π² Open Source. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ Π±ΠΈΠ»Π΅Ρ‚ΠΈ, цялата комуникация Π΅ практичСски с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ сСга, ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ бъдС Π² слСдващото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ‚.Π½.
  • Π©Π΅ ΠΈΠΌΠ° ΠΈ извСстСн ΠΎΠΏΠΈΡ‚ Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ, Ρ‚Π΅Π·ΠΈ инструмСнти Π² Ρ€Π΅Π΄ΠΈΡ†Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ: ΠΎΡ‚ ΠΌΠ°Π»ΠΊΠΈ стартиращи Ρ„ΠΈΡ€ΠΌΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Как сС Ρ€Π°Π·Π²ΠΈΠ²Π° всичко Ρ‚ΠΎΠ²Π°?

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠŸΡŠΡ€Π²ΠΎ, основната Π·Π°Π΄Π°Ρ‡Π° Π½Π° DBA, Π² допълнСниС към осигуряванСто Π½Π° създаванС Π½Π° СкзСмпляри, внСдряванС Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия ΠΈ Ρ‚.Π½., Π΅ Π΄Π° Π½Π°ΠΌΠΈΡ€Π° тСсни мСста ΠΈ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° производитСлността.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π‘Π΅Π³Π° Π΅ настроСн Ρ‚Π°ΠΊΠ°. Π“Π»Π΅Π΄Π°ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½Π΅Ρ‰ΠΎ, Π½ΠΎ Π½ΠΈ липсват някои подробности. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° ΠΊΠΎΠΏΠ°Π΅ΠΌ ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ с Ρ€ΡŠΡ†Π΅, ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ с Π½Π΅Π³ΠΎ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И ΠΈΠΌΠ° Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Pg_stat_statements Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ заявки. И Π°Π½Π°Π»ΠΈΠ· Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Postgres с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pgBadger.

ВсСки ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ° сСриозни Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ. ΠŸΡ€ΠΈ ΠΏΡŠΡ€Π²ΠΈΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ смС ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΠΈΠ»ΠΈ всички ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. И Π°ΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌ Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅ SELECT * FROM Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° Π΅ Ρ€Π°Π²Π½Π° Π½Π° "?" ΠΈΠ»ΠΈ β€œ$” ΠΎΡ‚ Postgres 10. НС Π·Π½Π°Π΅ΠΌ Π΄Π°Π»ΠΈ Ρ‚ΠΎΠ²Π° Π΅ сканиранС Π½Π° индСкс ΠΈΠ»ΠΈ сканиранС Π½Π° seq. Много зависи ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°. Ако Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ рядко срСщана стойност Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС сканиранС Π½Π° индСкс. Ако Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ стойност, която Π·Π°Π΅ΠΌΠ° 90% ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Ρ‚Π°ΠΌ, сканиранСто Π½Π° seq Ρ‰Π΅ бъдС ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Postgres Π·Π½Π°Π΅ статистиката. И Ρ‚ΠΎΠ²Π° Π΅ голям Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π½Π° pg_stat_statements, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π΅ Π² Ρ…ΠΎΠ΄ извСстна Ρ€Π°Π±ΠΎΡ‚Π°.

Най-голСмият Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΆΡƒΡ€Π½Π°Π»Π° Π΅, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ "log_min_duration_statement = 0" ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ. И Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅ цялата ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°. И някои заявки, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° консумират ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство рСсурси, Π½ΠΎ Π²ΠΈΠ΅ няма Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ са ΠΏΠΎΠ΄ вашия ΠΏΡ€Π°Π³.

Как администраторитС Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Ρ‚?

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

НапримСр, ΠΎΡ‚ΠΊΡ€ΠΈΡ…ΠΌΠ΅ някакъв ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Какво сС ΠΏΡ€Π°Π²ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ? Ако стС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ Π½Π° някакъв СкзСмпляр, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ със ΡΡŠΡ‰ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€. Ако стС DBA, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ°Ρ‚Π΅ Π΅Ρ‚Π°ΠΏ. И ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС само Π΅Π΄ΠΈΠ½. И Ρ‚ΠΎΠΉ изостана с ΡˆΠ΅ΡΡ‚ мСсСца. И мислиш, Ρ‡Π΅ Ρ‰Π΅ ΠΎΡ‚ΠΈΠ΄Π΅Ρˆ Π½Π° производство. И Π΄ΠΎΡ€ΠΈ ΠΎΠΏΠΈΡ‚Π½ΠΈ администратори Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ слСд Ρ‚ΠΎΠ²Π° провСряват производството Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°. И сС случва Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ индСкс, Π΄Π° сС увСрят, Ρ‡Π΅ ΠΏΠΎΠΌΠ°Π³Π°, Π΄Π° Π³ΠΎ изпуснат ΠΈ Π΄Π° Π³ΠΎ Π΄Π°Π΄Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΎ поставят във Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° миграция. Π•Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° глупости сС случват сСга. И Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

  • Настройка Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ индСкси.
  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ самата SQL заявка (Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-трудният ΠΌΠ΅Ρ‚ΠΎΠ΄).
  • Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚ (Π½Π°ΠΉ-лСсният Π½Π°Ρ‡ΠΈΠ½ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи).

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Има ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС случват с Ρ‚Π΅Π·ΠΈ Π½Π΅Ρ‰Π°. Π’ Postgres ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ. Има ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° сС Π·Π½Π°Π΅. Π’ Postgres ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ индСкси, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ ΠΈ Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π·ΠΈ конфСрСнция. И всичко Ρ‚ΠΎΠ²Π° трябва Π΄Π° сС Π·Π½Π°Π΅ ΠΈ Ρ‚ΠΎΠ²Π° ΠΊΠ°Ρ€Π° Π½Π΅-DBA Π΄Π° сС чувстват сякаш DBA ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‚ Ρ‡Π΅Ρ€Π½Π° магия. ВоСст трябва Π΄Π° ΡƒΡ‡ΠΈΡˆ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρˆ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρˆ всичко Ρ‚ΠΎΠ²Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ.

И Π°Π· съм Π±ΠΎΡ€Π΅Ρ† срСщу Ρ‚Π°Π·ΠΈ Ρ‡Π΅Ρ€Π½Π° магия. Искам Π΄Π° направя всичко Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Π΄Π° ΠΈΠΌΠ° тСхнология ΠΈ Π΄Π° няма интуиция във всичко Ρ‚ΠΎΠ²Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΎΡ‚ ΠΆΠΈΠ²ΠΎΡ‚Π°

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠΠ°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ… Ρ‚ΠΎΠ²Π° Π² ΠΏΠΎΠ½Π΅ Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ моя собствСн. Π”Ρ€ΡƒΠ³Π° публикация Π² Π±Π»ΠΎΠ³Π° Π½ΠΈ ΠΊΠ°Π·Π²Π°, Ρ‡Π΅ стойност ΠΎΡ‚ 1 Π·Π° default_statistict_target Π΅ Π΄ΠΎΠ±Ρ€Π°. Π”ΠΎΠ±Ρ€Π΅, Π½Π΅ΠΊΠ° Π³ΠΎ ΠΏΡ€ΠΎΠ±Π²Π°ΠΌΠ΅ Π² производството.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Π΅Ρ‚ΠΎ Π½ΠΈ Ρ‚ΡƒΠΊ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ нашия инструмСнт Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠΎ-късно, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ днСс, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сравним ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ станало.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Π·Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° създадСм СкспСримСнт. Π‘ΡŠΡΡ‚ΠΎΠΈ сС ΠΎΡ‚ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ части.

  • ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π΅ ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда. ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΄ΠΎΠΉΠ΄Π° Π² някоя Ρ„ΠΈΡ€ΠΌΠ° ΠΈ подпиша Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, ΠΈΠΌ ΠΊΠ°Π·Π²Π°ΠΌ Π΄Π° ΠΌΠΈ Π΄Π°Π΄Π°Ρ‚ ΡΡŠΡ‰ΠΈΡ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π² производство. Π—Π° всСки ΠΎΡ‚ Π²Π°ΡˆΠΈΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΈ трябва ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ. Или Ρ‚ΠΎΠ²Π° Π΅ СкзСмплярна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина Π² Amazon ΠΈΠ»ΠΈ Google, ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΠΌ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡŠΡ‰ΠΈΡ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. ВоСст искам Π΄Π° ΠΏΡ€Π΅ΡΡŠΠ·Π΄Π°ΠΌ срСдата. И Π² концСпцията Π·Π° срСда Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ основната вСрсия Π½Π° Postgres.
  • Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π΅ ΠΎΠ±Π΅ΠΊΡ‚ Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ изслСдванС. Π’ΠΎΠ²Π° Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. МоТС Π΄Π° сС създадС ΠΏΠΎ няколко Π½Π°Ρ‡ΠΈΠ½Π°. Π©Π΅ Ρ‚ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ.
  • Π’Ρ€Π΅Ρ‚Π°Ρ‚Π° част Π΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-трудният ΠΌΠΎΠΌΠ΅Π½Ρ‚.
  • И Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚Π°Ρ‚Π° част Π΅ ΠΊΠ°ΠΊΠ²ΠΎ провСрявамС, Ρ‚.Π΅. ΠΊΠ°ΠΊΠ²ΠΎ с ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сравним. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π² конфигурацията ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° създадСм индСкс ΠΈ Ρ‚.Π½.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ СкспСримСнт. Π•Ρ‚ΠΎ pg_stat_statements. ΠžΡ‚Π»ΡΠ²ΠΎ Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случи. Вдясно - ΠΊΠ°ΠΊΠ²ΠΎ сС случи.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠžΡ‚Π»ΡΠ²ΠΎ default_statistics_target = 100, отдясно = 1. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°. ΠšΠ°Ρ‚ΠΎ цяло всичко сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ с 000%.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Но Π°ΠΊΠΎ ΠΏΡ€Π΅Π²ΡŠΡ€Ρ‚ΠΈΠΌ Π½Π°Π΄ΠΎΠ»Ρƒ, Ρ‰Π΅ ΠΈΠΌΠ° Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ заявки ΠΎΡ‚ pgBadger ΠΈΠ»ΠΈ ΠΎΡ‚ pg_stat_statements. Има Π΄Π²Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ някои заявки са Π½Π°ΠΌΠ°Π»Π΅Π»ΠΈ с 88%. И Ρ‚ΡƒΠΊ ΠΈΠ΄Π²Π° инТСнСрният ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. МоТСм Π΄Π° ΠΊΠΎΠΏΠ°Π΅ΠΌ ΠΎΡ‰Π΅ Π²ΡŠΡ‚Ρ€Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ сС Ρ‡ΡƒΠ΄ΠΈΠΌ Π·Π°Ρ‰ΠΎ Π΅ ΠΏΠΎΡ‚ΡŠΠ½Π°Π»ΠΎ. Врябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случи със статистиката. Π—Π°Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΡ„ΠΈ Π² статистиката водят Π΄ΠΎ ΠΏΠΎ-лоши Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Или ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ ΠΊΠΎΠΏΠ°Π΅ΠΌ, Π½ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ β€žALTER TABLE ... ALTER COLUMNβ€œ ΠΈ Π΄Π° Π²ΡŠΡ€Π½Π΅ΠΌ 100 ΠΊΠΎΡ„ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ към статистиката Π½Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π°. И слСд Ρ‚ΠΎΠ²Π° с Π΄Ρ€ΡƒΠ³ СкспСримСнт ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ пластир Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π». Всичко. Π’ΠΎΠ²Π° Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ голямата ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ въз основа Π½Π° Π΄Π°Π½Π½ΠΈ, Π° Π½Π΅ Π½Π° интуиция.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ области. Π’ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈΠΌΠ° CI тСстовС. И Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ със Π·Π΄Ρ€Π°Π² ΡƒΠΌ Π½Π΅ Π±ΠΈ оцСлял Π±Π΅Π· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ тСстовС.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π’ Π΄Ρ€ΡƒΠ³ΠΈ индустрии: Π² авиацията, Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π½Π°Ρ‚Π° индустрия, ΠΊΠΎΠ³Π°Ρ‚ΠΎ тСствамС Π°Π΅Ρ€ΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°Ρ‚Π°, Π½ΠΈΠ΅ ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ СкспСримСнти. Няма Π΄Π° изстрСлямС Π½Π΅Ρ‰ΠΎ ΠΎΡ‚ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² космоса ΠΈΠ»ΠΈ няма Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ»Π° Π½Π° пистата. НапримСр, ΠΈΠΌΠ° Π°Π΅Ρ€ΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ Ρ‚ΡƒΠ½Π΅Π».

МоТСм Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ·Π²ΠΎΠ΄ΠΈ ΠΎΡ‚ наблюдСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ индустрии.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠŸΡŠΡ€Π²ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ спСциална срСда. Π‘Π»ΠΈΠ·ΠΎ Π΅ Π΄ΠΎ производство, Π½ΠΎ Π½Π΅ Π΅ Π±Π»ΠΈΠ·ΠΎ. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΌΡƒ характСристика Π΅, Ρ‡Π΅ трябва Π΄Π° бъдС Π΅Π²Ρ‚ΠΈΠ½, повторяСм ΠΈ възмоТно Π½Π°ΠΉ-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½. ОсвСн Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΠΈΠΌΠ° спСциални инструмСнти Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ·.

Най-вСроятно, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стартирамС самолСт ΠΈ Π»Π΅Ρ‚ΠΈΠΌ, ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π΄Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ всСки ΠΌΠΈΠ»ΠΈΠΌΠ΅Ρ‚ΡŠΡ€ ΠΎΡ‚ ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² Π°Π΅Ρ€ΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ Ρ‚ΡƒΠ½Π΅Π». ИмамС ΠΎΡ‰Π΅ инструмСнти Π·Π° диагностика. МоТСм Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π΄Π° носим ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ‚Π΅ΠΆΠΊΠΈ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π΄Π° ΠΊΠ°Ρ‡ΠΈΠΌ Π² самолСт във Π²ΡŠΠ·Π΄ΡƒΡ…Π°. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ с Postgres. Π’ някои случаи ΠΌΠΎΠΆΠ΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ пълно рСгистриранС Π½Π° заявки ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° СкспСримСнти. И Π½ΠΈΠ΅ Π½Π΅ искамС Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π² производството. МоТС Π΄ΠΎΡ€ΠΈ Π΄Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° auto_explain.

И ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π°Ρ…, високо Π½ΠΈΠ²ΠΎ Π½Π° автоматизация ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ натискамС Π±ΡƒΡ‚ΠΎΠ½Π° ΠΈ повтарямС. Π’Π°ΠΊΠ° трябва Π΄Π° бъдС, Π·Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ СкспСримСнти, Π·Π° Π΄Π° Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊ.

Nancy CLI - основата Π½Π° β€žΠ»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡΡ‚Π° Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈβ€œ

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Ρ‚Π°ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ. ВоСст Π°Π· Π³ΠΎΠ²ΠΎΡ€ΠΈΡ… Π·Π° Ρ‚Π΅Π·ΠΈ ΠΈΠ΄Π΅ΠΈ ΠΏΡ€Π΅Π· юни, ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°. И Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°ΠΊΠ° нарСчСния Nancy CLI Π² Open Source. Π’ΠΎΠ²Π° Π΅ основата Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° лаборатория Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

хомосСксуалист β€” Π’ΠΎΠ²Π° Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π² Gitlab. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ… Π²Ρ€ΡŠΠ·ΠΊΠ° Π² слайдовСтС. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ ΠΈ Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Ρ‚Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‰ във всички ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π² процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Има ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅ΠΈ Ρ‚Π°ΠΌ. Но Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всСки Π΄Π΅Π½. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ идСя - Π·Π°Ρ‰ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ΠΌ 40 000 000 Ρ€Π΅Π΄Π°, всичко сС свСТда Π΄ΠΎ IO, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ СкспСримСнт ΠΈ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ сС случва ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. ВоСст ΠΏΡ€Π°Π²ΠΈΠΌ СкспСримСнт. НапримСр, настройвамС Π½Π΅Ρ‰ΠΎ ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сС случи накрая. И Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π² производството. Π’ΠΎΠ²Π° Π΅ ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° идСята.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

КъдС ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΠ²Π°? Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ навсякъдС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ Π΄Π° Π³ΠΎ стартиратС Π½Π° MacBook. ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄ΠΎΠΊΠ΅Ρ€, Π΄Π° Π²ΡŠΡ€Π²ΠΈΠΌ. Π’ΠΎΠ²Π° Π΅ всичко. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ стартиратС Π² някакъв случай Π½Π° част ΠΎΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΈΠ»ΠΈ във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, навсякъдС.

ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° дистанционно стартиранС Π² Amazon Π² EC2 инстанция, Π½Π° мСста. И Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ‚ΠΈΠ½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. НапримСр, Π²Ρ‡Π΅Ρ€Π° ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΎΡ…ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 500 СкспСримСнта Π½Π° СкзСмпляр i3, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ с Π½Π°ΠΉ-младия ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΠΉΠΊΠΈ с i3-16-xlarge. И 500 СкспСримСнта Π½ΠΈ струват $64. ВсСки ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ ΠΏΠΎ 15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. ВоСст, ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Ρ‚Π°ΠΌ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ спотовС, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π²Ρ‚ΠΈΠ½ΠΎ - 70% ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ°, таксуванС Π½Π° сСкунда Π½Π° Amazon. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ истинско ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС ΠΈ Ρ‚Ρ€ΠΈ основни вСрсии Π½Π° Postgres. НС Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ някои стари ΠΈ Π½ΠΎΠ²Π°Ρ‚Π° 12-Ρ‚Π° вСрсия ΡΡŠΡ‰ΠΎ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

МоТСм Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ ΠΎΠ±Π΅ΠΊΡ‚ ΠΏΠΎ Ρ‚Ρ€ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°. Π’ΠΎΠ²Π°:

  • Dump/sql Ρ„Π°ΠΉΠ».
  • ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΅ Π΄Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Ρ‚Π΅ дирСкторията PGDATA. По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сС Π²Π·Π΅ΠΌΠ° ΠΎΡ‚ рСзСрвния ΡΡŠΡ€Π²ΡŠΡ€. Ако ΠΈΠΌΠ°Ρ‚Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ΠΈ ΠΎΡ‚ Ρ‚Π°ΠΌ. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΎΠ±Π»Π°Ρ†ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΎΠ±Π»Π°Ρ‡Π΅Π½ офис ΠΊΠ°Ρ‚ΠΎ Amazon ΠΈ Google Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° вмСсто вас. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ваТният Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π°Π»Π½ΠΎ производство. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΠΌΠ΅.
  • И послСдният ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅ подходящ Π·Π° изслСдванС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅Ρ‰ΠΎ Π² Postgres. Π’ΠΎΠ²Π° Π΅ pgbench. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pgbench. Π’ΠΎΠ²Π° Π΅ само Π΅Π΄Π½Π° опция "db-pgbench". Π’ΠΈ ΠΌΡƒ ΠΊΠ°ΠΆΠΈ какъв ΠΌΠ°Ρ‰Π°Π±. И всичко Ρ‰Π΅ бъдС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ посочСно.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Π·Π°Ρ€Π΅Π΄ΠΈ:

  • МоТСм Π΄Π° изпълним Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π² Π΅Π΄Π½Π° SQL нишка. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-примитивният Π½Π°Ρ‡ΠΈΠ½.
  • И Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π°. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΎ ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½. Врябва Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ΠΌ всички Ρ‚Ρ€ΡƒΠΏΠΈ. И Ρ‚ΠΎΠ²Π° Π΅ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ. Π©Π΅ Ρ‚ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° Π·Π°Ρ‰ΠΎ. И ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ pgreplay we play, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ Π² Nancy.
  • Или Π΄Ρ€ΡƒΠ³ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΎΡ‚ΠΎ занаятчийско Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ усилиС. Анализирайки Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° Π±ΠΎΠΉΠ½Π°Ρ‚Π° систСма, Π½ΠΈΠ΅ ΠΈΠ·Π²Π°ΠΆΠ΄Π°ΠΌΠ΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ заявки. И с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pgbench ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π² лабораторията.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

  • Или трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ някакъв Π²ΠΈΠ΄ SQL, Ρ‚.Π΅. провСрявамС някакъв Π²ΠΈΠ΄ миграция, създавамС индСкс Ρ‚Π°ΠΌ, изпълнявамС ANALAZE Ρ‚Π°ΠΌ. И Π½ΠΈΠ΅ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ сС Π΅ случило ΠΏΡ€Π΅Π΄ΠΈ Π²Π°ΠΊΡƒΡƒΠΌΠ° ΠΈ слСд Π²Π°ΠΊΡƒΡƒΠΌΠ°. ΠšΠ°Ρ‚ΠΎ цяло всСки SQL.
  • Или промСнямС Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π² конфигурацията. МоТСм Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 100 стойности Π² Amazon Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. И слСд няколко часа Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ΅ няколко часа, Π·Π° Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Но ΠΈΠΌΠ° ΠΊΡ€ΡŠΠΏΠΊΠ° Π² процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈΠΌΠ°ΠΌΠ΅ възмоТни сСрии, Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅Ρ‚Π΅ послСдоватСлно Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ pgdata Π½Π° ΡΡŠΡ‰ΠΈΡ ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π΄Π° провСряватС. Postgres Ρ‰Π΅ сС рСстартира ΠΈ ΠΊΠ΅ΡˆΠΎΠ²Π΅Ρ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π½ΡƒΠ»ΠΈΡ€Π°Π½ΠΈ. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°Ρ€Π°Ρ‚Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π°.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

  • ΠŸΡ€ΠΈΡΡ‚ΠΈΠ³Π° дирСктория с ΠΊΡƒΠΏ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠ°Ρ‚ΠΎ сС Π·Π°ΠΏΠΎΡ‡Π½Π΅ ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки Π½Π° pgStat***. И Π½Π°ΠΉ-интСрСсното Π½Π΅Ρ‰ΠΎ Ρ‚Π°ΠΌ Π΅ pg_stat_statements, pg_stat_kcacke. Π’ΠΎΠ²Π° са Π΄Π²Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ заявки. И pg_stat_bgwriter ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π½Π΅ само статистика Π½Π° pgwriter, Π½ΠΎ ΡΡŠΡ‰ΠΎ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈ ΠΊΠ°ΠΊ самитС Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅ измСстват ΠΌΡ€ΡŠΡΠ½ΠΈΡ‚Π΅ Π±ΡƒΡ„Π΅Ρ€ΠΈ. И всичко Ρ‚ΠΎΠ²Π° Π΅ интСрСсно Π΄Π° сС Π²ΠΈΠ΄ΠΈ. НапримСр, ΠΊΠΎΠ³Π°Ρ‚ΠΎ настройвамС shared_buffers, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсно Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ са Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ всички.
  • ΠŸΡ€ΠΈΡΡ‚ΠΈΠ³Π°Ρ‚ ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Postgres. Π”Π²Π° Π»ΠΎΠ³Π° – Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅.
  • Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π½ΠΎΠ²Π° функция Π΅ FlameGraphs.
  • ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ стС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ pgreplay ΠΈΠ»ΠΈ pgbench Π·Π° Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π°Ρ€Π°, Ρ‚ΠΎΠ³Π°Π²Π° тСхният ΠΈΠ·Ρ…ΠΎΠ΄ Ρ‰Π΅ бъдС СстСствСн. И Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ латСнтност ΠΈ TPS. Π©Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊ са Π³ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ.
  • БистСмна информация.
  • Основни ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° процСсора ΠΈ IO. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° СкзСмпляр Π½Π° EC2 Π² Amazon, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° стартиратС 100 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ СкзСмпляра Π² нишка ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ 100 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ изпълнСния Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ 10 000 СкспСримСнта. И трябва Π΄Π° стС сигурни, Ρ‡Π΅ няма Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π΅Ρ‚Π΅ Π½Π° ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ΅Π½ СкзСмпляр, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ потискан ΠΎΡ‚ някого. Π”Ρ€ΡƒΠ³ΠΈ са Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π½Π° Ρ‚Π°Π·ΠΈ част ΠΎΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° ΠΈ Π²ΠΈΠ΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ останал рСсурс. По-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. И с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° sysbench ΠΎΡ‚ АлСксСй ΠšΠΎΠΏΠΈΡ‚ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠΌ няколко ΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π΄ΠΎΠΉΠ΄Π°Ρ‚ ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ сравнСни с Π΄Ρ€ΡƒΠ³ΠΈ, Ρ‚.Π΅. Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ сС Π΄ΡŠΡ€ΠΆΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ ΠΈ ΠΊΠ°ΠΊ сС Π΄ΡŠΡ€ΠΆΠΈ IO.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Какви са тСхничСскитС трудности въз основа Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ?

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ искамС Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Ρ€Π΅Π°Π»Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½Π° идСя Π΅, Π°ΠΊΠΎ Π΅ написано Π½Π° pgreplay с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. НиС Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Но Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, трябва Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ пълно рСгистриранС Π½Π° заявки с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅.

Има някои услоТнСния с ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° ΠΈ врСмСвия ΠΏΠ΅Ρ‡Π°Ρ‚. Π©Π΅ ΠΈΠ·ΠΏΡ€Π°Π·Π½ΠΈΠΌ цялата Ρ‚Π°Π·ΠΈ кухня. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π²ΡŠΠΏΡ€ΠΎΡ Π΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° си Π³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π΅?

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

https://gist.github.com/NikolayS/08d9b7b4845371d03e195a8d8df43408

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½. На ΠΏΡŠΡ€Π²ΠΎ място, трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ какъв ΠΏΠΎΡ‚ΠΎΠΊ Ρ‰Π΅ бъдС записан Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°. Ако ΠΈΠΌΠ°Ρ‚Π΅ pg_stat_statements, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚Π°Π·ΠΈ заявка (Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Ρ‰Π΅ бъдС Π½Π°Π»ΠΈΡ‡Π½Π° Π² слайдовСтС), Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎ Π±Π°ΠΉΡ‚Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ записани Π² сСкунда.

Π“Π»Π΅Π΄Π°ΠΌΠ΅ Π΄ΡŠΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° заявката. ΠŸΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π²Π°ΠΌΠ΅ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ няма ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, Π½ΠΎ Π·Π½Π°Π΅ΠΌ Π΄ΡŠΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° заявката ΠΈ Π·Π½Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡŠΡ‚ΠΈ Π² сСкунда Π΅ Π±ΠΈΠ»Π° изпълнСна. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° изчислим ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎ Π±Π°ΠΉΡ‚Π° Π² сСкунда. МоТС Π΄Π° ΡΠ³Ρ€Π΅ΡˆΠΈΠΌ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½ΠΎ със сигурност Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ€Π΅Π΄Π° ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½.

Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ заявка сС изпълнява 802 ΠΏΡŠΡ‚ΠΈ Π² сСкунда. И Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ bytes_per sec – 300 kB/s Ρ‰Π΅ бъдС записано плюс ΠΈΠ»ΠΈ минус. И ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Ρ‚Π°ΠΊΡŠΠ² ΠΏΠΎΡ‚ΠΎΠΊ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Но! Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми Π·Π° рСгистриранС. И Ρ…ΠΎΡ€Π°Ρ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ са "syslog".

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ syslog, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ снимка ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ. Π©Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ pgbench, Ρ‰Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ записванСто Π½Π° заявки ΠΈ Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сС случи.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π‘Π΅Π· Π»ΠΎΠ³Π²Π°Π½Π΅ - Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° отляво. ИмамС 161 000 TPS. Бъс syslog - Ρ‚ΠΎΠ²Π° Π΅ Π² Ubuntu 16.04 Π½Π° Amazon, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ 37 000 TPS. И Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° рСгистриранС, Ρ‚ΠΎΠ³Π°Π²Π° ситуацията Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π°. ВоСст ΠΎΡ‡Π°ΠΊΠ²Π°Ρ…ΠΌΠ΅ Π΄Π° спаднС, Π½ΠΎ Π½Π΅ Π² ΡΡŠΡ‰Π°Ρ‚Π° стСпСн.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Π½Π° CentOS 7, Π² ΠΊΠΎΠΉΡ‚ΠΎ journald ΡΡŠΡ‰ΠΎ участва, ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° лСсно Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ Ρ‚.Π½., Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΡˆΠΌΠ°Ρ€ Ρ‚Π°ΠΌ, пускамС 44 ΠΏΡŠΡ‚ΠΈ Π² TPS.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Ρ‚ΠΎΠ²Π° Π΅, с ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ…ΠΎΡ€Π°Ρ‚Π° ТивСят. И чСсто Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, особСно Π³ΠΎΠ»Π΅ΠΌΠΈ, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Ако ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΠΈΠ·ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ ΠΎΡ‚ syslog, моля, ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ сС ΠΎΡ‚ Π½Π΅Π³ΠΎ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

  • ΠžΡ†Π΅Π½Π΅Ρ‚Π΅ IOPS ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° запис.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π²Π°ΡˆΠ°Ρ‚Π° систСма Π·Π° рСгистриранС.
  • Ако ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π΅ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ голямо, помислСтС Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±ΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ИмамС pg_stat_statements. ΠšΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π°Ρ…, трябва Π΄Π° Π΅ Ρ‚Π°ΠΌ. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΈ опишСм всяка Π³Ρ€ΡƒΠΏΠ° заявки ΠΏΠΎ спСциалСн Π½Π°Ρ‡ΠΈΠ½ във Ρ„Π°ΠΉΠ». И Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π° функция Π² pgbench - Ρ‚ΠΎΠ²Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ няколко Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° опцията β€ž-fβ€œ.

Π Π°Π·Π±ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ "-f". И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° β€œ@” Π² края какъв дял трябва Π΄Π° ΠΈΠΌΠ° всСки Ρ„Π°ΠΉΠ». ВоСст ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Ρ‚ΠΎΠ²Π° Π² 10% ΠΎΡ‚ случаитС, Π° Ρ‚ΠΎΠ²Π° Π² 20%. И Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π½ΠΈ Π΄ΠΎΠ±Π»ΠΈΠΆΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π² производството.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Как Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² производството? Какъв дял ΠΈ ΠΊΠ°ΠΊ? Π’ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ настрана. ИмамС ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ postgres-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π±Π°Π·Π° Π² Open Source. И сСга Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅.

Π’ΠΎΠΉ Π΅ Ρ€ΠΎΠ΄Π΅Π½ ΠΏΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. ΠŸΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, Ρ‡Π΅ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ. ВоСст ΠΈΠ΄Π²Π°Ρ‚Π΅, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚Π΅ Π±Π°Π·Π°Ρ‚Π°, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚. И ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ. Ако стС ΠΎΠΏΠΈΡ‚Π΅Π½ DBA, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ health_check. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° индСкси ΠΈ Ρ‚.Π½. Ако ΠΈΠΌΠ°Ρ‚Π΅ OKmeter, Ρ‚ΠΎΠ³Π°Π²Π° страхотно. Π’ΠΎΠ²Π° Π΅ страхотСн ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π·Π° Postgres. OKmeter.io – моля, инсталирайтС Π³ΠΎ, Ρ‚Π°ΠΌ всичко Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅. ΠŸΠ»Π°Ρ‚Π΅Π½ΠΎ Π΅.

Ако няматС Ρ‚Π°ΠΊΡŠΠ², Ρ‚ΠΎΠ³Π°Π²Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ няматС ΠΌΠ½ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ° CPU, IO ΠΈ слСд Ρ‚ΠΎΠ²Π° с Ρ€Π΅Π·Π΅Ρ€Π²ΠΈ ΠΈ Ρ‚ΠΎΠ²Π° Π΅ всичко. И ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Врябва Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Π² io трябва Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ bgwriter ΠΈ ΠΎΡ‚ Π·Π°Π΄Π½ΠΈΡ‚Π΅ части ΠΈ Ρ‚.Π½.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ помагаш Π½Π° голяма компания, тя Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈ Π½Π΅Ρ‰ΠΎ Π±ΡŠΡ€Π·ΠΎ. Π’Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ Π΄Π° купят OKmeter. МоТС Π±ΠΈ Ρ‰Π΅ Π³ΠΎ купят слСд ΡˆΠ΅ΡΡ‚ мСсСца. Π’Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ Π΄Π° доставят някои ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

И Π½ΠΈΠ΅ стигнахмС Π΄ΠΎ идСята, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ спСциалСн инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ изисква Π½ΠΈΡ‰ΠΎ Π΄Π° бъдС инсталирано, Ρ‚.Π΅. Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° инсталиратС Π½ΠΈΡ‰ΠΎ Π² производството. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Π³ΠΎ Π½Π° вашия Π»Π°ΠΏΡ‚ΠΎΠΏ ΠΈΠ»ΠΈ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° наблюдСниС, ΠΎΡ‚ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ Π³ΠΎ стартиратС. И Ρ‰Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°: ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ самия Postgres, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ някои Π»Π΅ΠΊΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ стартирани Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² производството ΠΈ Π½ΠΈΡ‰ΠΎ няма Π΄Π° сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ.

НарСкохмС Π³ΠΎ Postgres-checkup. ΠžΡ‚ мСдицинска Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅Π½ Π·Π΄Ρ€Π°Π²Π΅Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄. Ако Π΅ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°. ΠŸΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΊΠΎΠ»Π°Ρ‚Π° си Π½Π° всСки ΡˆΠ΅ΡΡ‚ мСсСца ΠΈΠ»ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°, Π² зависимост ΠΎΡ‚ ΠΌΠ°Ρ€ΠΊΠ°Ρ‚Π°. ΠŸΡ€Π°Π²ΠΈΡ‚Π΅ Π»ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π°? ВоСст ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π»ΠΈ Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½ΠΈ изслСдвания Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ? Врябва Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ. Ако ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия, слСд Ρ‚ΠΎΠ²Π° Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ.

И Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°ΠΊΡŠΠ² инструмСнт. Π—Π°ΠΏΠΎΡ‡Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° сС появява Π΅Π΄Π²Π° ΠΏΡ€Π΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚Ρ€ΠΈ мСсСца. Π’ΠΎΠΉ Π΅ ΠΎΡ‰Π΅ ΠΌΠ»Π°Π΄, Π½ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π‘ΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°ΠΉ-β€žΠ²Π»ΠΈΡΡ‚Π΅Π»Π½ΠΈΡ‚Π΅β€œ Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ заявки - ΠΎΡ‚Ρ‡Π΅Ρ‚ K003 Π² Postgres-checkup

И ΠΈΠΌΠ° Π³Ρ€ΡƒΠΏΠ° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ K. Π’Ρ€ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π° досСга. И ΠΈΠΌΠ° Ρ‚Π°ΠΊΡŠΠ² Π΄ΠΎΠΊΠ»Π°Π΄ K003. Има Π³ΠΎΡ€Π½Π°Ρ‚Π° част ΠΎΡ‚ pg_stat_statements, сортирани ΠΏΠΎ total_time.

ΠšΠΎΠ³Π°Ρ‚ΠΎ сортирамС Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅ заявки ΠΏΠΎ total_time, Π½Π°ΠΉ-ΠΎΡ‚Π³ΠΎΡ€Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°, която Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π° систСмата Π½ΠΈ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚.Π΅. консумира ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси. Π—Π°Ρ‰ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡƒΠ²Π°ΠΌ Π³Ρ€ΡƒΠΏΠΈ заявки? Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΠΈΡ…ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅. Π’ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π½Π΅ са заявки, Π° Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ заявки, Ρ‚.Π΅. Ρ‚Π΅ са абстрахирани.

И Π°ΠΊΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΎΡ‚Π³ΠΎΡ€Π΅ Π½Π°Π΄ΠΎΠ»Ρƒ, Ρ‰Π΅ ΠΎΠ±Π»Π΅ΠΊΡ‡ΠΈΠΌ рСсурситС си ΠΈ Ρ‰Π΅ ΠΎΡ‚Π»ΠΎΠΆΠΈΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° надстроим. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° спСститС ΠΏΠ°Ρ€ΠΈ.

МоТС Π±ΠΈ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС Π³Ρ€ΠΈΠΆΠΈΠΌ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π΄ΠΊΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ досадни случаи, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‡ΠΎΠ²Π΅ΠΊ Ρ‡Π°ΠΊΠ° 15 сСкунди. ΠšΠ°Ρ‚ΠΎ цяло Ρ‚Π΅ са Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ€Π΅Π΄ΠΊΠΈ, Ρ‡Π΅ Π½Π΅ Π³ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с рСсурси.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Какво сС случи Π² Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°? НаправихмС Π΄Π²Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки. Postgres_checkup Ρ‰Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ Π΄Π΅Π»Ρ‚Π° Π·Π° всСки ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»: ΠΎΠ±Ρ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅, повиквания, Ρ€Π΅Π΄ΠΎΠ²Π΅, shared_blks_read ΠΈ Ρ‚.Π½. Π’ΠΎΠ²Π° Π΅, Π΄Π΅Π»Ρ‚Π°Ρ‚Π° Π΅ изчислСна. ГолСмият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с pg_stat_statements Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈ ΠΊΠΎΠ³Π° Π΅ Π±ΠΈΠ» Π½ΡƒΠ»ΠΈΡ€Π°Π½. Ако pg_stat_database ΠΏΠΎΠΌΠ½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° pg_stat_statements Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈ. Π’ΠΈΠΆΠ΄Π°Ρ‚Π΅, Ρ‡Π΅ ΠΈΠΌΠ° число ΠΎΡ‚ 1 000 000, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π±Ρ€ΠΎΠΈΠΌ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И Ρ‚ΡƒΠΊ Π·Π½Π°Π΅ΠΌ, Ρ‚ΡƒΠΊ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки. Π—Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π΄Π΅Π»Ρ‚Π°Ρ‚Π° Π² Ρ‚ΠΎΠ·ΠΈ случай Π΅ 56 сСкунди. Много ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎ total_time. И Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°ΠΌΠ΅, Ρ‚.Π΅. раздСлямС всички ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚. Ако Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ всСки ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π» Π½Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚, Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ броя обаТдания Π² сСкунда.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π°, total_time per second Π΅ Π»ΡŽΠ±ΠΈΠΌΠΈΡΡ‚ ΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π». Π˜Π·ΠΌΠ΅Ρ€Π²Π° сС Π² сСкунди Π·Π° сСкунда, Ρ‚.Π΅. ΠΊΠΎΠ»ΠΊΠΎ сСкунди са ΠΎΡ‚Π½Π΅Π»ΠΈ Π½Π° систСмата Π½ΠΈ Π΄Π° изпълни Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ° заявки Π·Π° сСкунда. Ако Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ сСкунда Π² сСкунда Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ трябва Π΄Π° Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ядро. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π». ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ приятСл Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ ΠΏΠΎΠ½Π΅ Ρ‚Ρ€ΠΈ ядра.

Π’ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π½ΠΎΡƒ-Ρ…Π°Ρƒ, Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ Π½Π΅ съм Π²ΠΈΠΆΠ΄Π°Π» никъдС. Моля, ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ - Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто Π½Π΅Ρ‰ΠΎ - сСкунда Π² сСкунда. Понякога, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Π°ΡˆΠΈΡΡ‚ процСсор Π΅ 100%, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ час Π² сСкунда, тоСст стС ΠΏΡ€Π΅ΠΊΠ°Ρ€Π°Π»ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ час, изпълнявайки само Ρ‚Π΅Π·ΠΈ заявки.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² сСкунда. Π—Π½Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΊΠΎ Ρ€Π΅Π΄Π° Π² сСкунда Π΅ Π²ΡŠΡ€Π½Π°Π»ΠΎ.

И Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° ΠΈ Π½Π΅Ρ‰ΠΎ интСрСсно. Колко shared_buffers Ρ‡Π΅Ρ‚Π΅ΠΌ Π·Π° сСкунда ΠΎΡ‚ самитС shared_buffers. ΠŸΠΎΠΏΠ°Π΄Π΅Π½ΠΈΡΡ‚Π° Π²Π΅Ρ‡Π΅ бяха Π½Π°Π»ΠΈΡ†Π΅ ΠΈ Π½ΠΈΠ΅ Π²Π·Π΅Ρ…ΠΌΠ΅ Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ кСша Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈΠ»ΠΈ ΠΎΡ‚ диска. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅ Π±ΡŠΡ€Π·, Π° вторият ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ»ΠΈ Π΄Π° Π½Π΅ Π΅ Π±ΡŠΡ€Π·, Π² зависимост ΠΎΡ‚ ситуацията.

И вторият Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π½Π΅ Π΅ Π΄Π° сС Ρ€Π°Π·Π΄Π΅Π»ΠΈ броят Π½Π° заявкитС Π² Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ°. Π’ΡŠΠ² Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π²ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎ Π΅Π΄Π½Π° заявка, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° заявка. И Ρ‚ΠΎΠ³Π°Π²Π° Π΅ интСрСсно - ΠΊΠΎΠ»ΠΊΠΎ милисСкунди са Π±ΠΈΠ»ΠΈ Π² Ρ‚Π°Π·ΠΈ заявка. Π—Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ сС Π΄ΡŠΡ€ΠΆΠΈ Ρ‚Π°Π·ΠΈ заявка срСдно. Π—Π° всяка заявка бяха Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ 101 милисСкунди. Π’ΠΎΠ²Π° Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, която трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ.

Колко Ρ€Π΅Π΄Π° Π΅ Π²ΡŠΡ€Π½Π°Π»Π° срСдно всяка заявка? Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ 8, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ° сС Π·Π°Π²Ρ€ΡŠΡ‰Π°. Π‘Ρ€Π΅Π΄Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎ Π΅ Π²Π·Π΅Ρ‚ΠΎ ΠΎΡ‚ кСша ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΎ. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ всичко Π΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΎ Π΄ΠΎΠ±Ρ€Π΅. Π‘ΠΎΠ»ΠΈΠ΄Π½ΠΈ попадСния Π·Π° ΠΏΡŠΡ€Π²Π° Π³Ρ€ΡƒΠΏΠ°.

И Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΈΡΡ‚ ΠΏΠΎΠ΄Π½ΠΈΠ· във всСки Ρ€Π΅Π΄ Π΅ какъв ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΡ‚ ΠΎΠ±Ρ‰Π°Ρ‚Π° сума. ИмамС обаТдания. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ 1 000 000. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ какъв принос ΠΈΠΌΠ° Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ°. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° допринася с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 0,01%. ВоСст Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π΅ Π±Π°Π²Π΅Π½, Ρ‡Π΅ Π½Π΅ Π³ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π² ΠΎΠ±Ρ‰Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°. И Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° Π΅ 5% Π½Π° Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΈ. ВоСст 5% ΠΎΡ‚ всички обаТдания са Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ°.

Total_time ΡΡŠΡ‰ΠΎ Π΅ интСрСсно. ΠŸΡ€Π΅ΠΊΠ°Ρ€Π°Ρ…ΠΌΠ΅ 14% ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ си Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° заявки. А Π·Π° Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ - 11% ΠΈ Ρ‚.Π½.

Няма Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌ Π² подробности, Π½ΠΎ ΠΈΠΌΠ° Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈ. ПоказвамС Π³Ρ€Π΅ΡˆΠΊΠ° Π² Π³ΠΎΡ€Π½Π°Ρ‚Π° част, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ сравнявамС, ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈΡ‚Π΅ снимки ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠ»ΡƒΠ²Π°Ρ‚, Ρ‚.Π΅. някои заявки ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠ°Π΄Π½Π°Ρ‚ ΠΈ Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‚ във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ някои Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС появят. И Ρ‚Π°ΠΌ изчислявамС Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π°. Ако Π²ΠΈΠ΄ΠΈΡ‚Π΅ 0, Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€Π΅. Няма Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ. Ако ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ° Π΅ Π΄ΠΎ 20%, всичко Π΅ Π½Π°Ρ€Π΅Π΄.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° сС Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ към Π½Π°ΡˆΠ°Ρ‚Π° Ρ‚Π΅ΠΌΠ°. Врябва Π΄Π° ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. Π’Π·ΠΈΠΌΠ°ΠΌΠ΅ Π³ΠΎ ΠΎΡ‚Π³ΠΎΡ€Π΅ Π½Π°Π΄ΠΎΠ»Ρƒ ΠΈ Π²ΡŠΡ€Π²ΠΈΠΌ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ достигнСм 80% ΠΈΠ»ΠΈ 90%. ОбикновСно Ρ‚ΠΎΠ²Π° са 10-20 Π³Ρ€ΡƒΠΏΠΈ. И Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° pgbench. НиС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ‚Π°ΠΌ. Понякога Ρ‚ΠΎΠ²Π°, Π·Π° съТалСниС, Π½Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°. И Π² Postgres 12 Ρ‰Π΅ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

И слСд Ρ‚ΠΎΠ²Π° ΠΏΠ΅Ρ‡Π΅Π»ΠΈΠΌ 80-90% ΠΎΠ±Ρ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. Какво слСдва Π΄Π° поставя слСд β€ž@β€œ? НиС Π³Π»Π΅Π΄Π°ΠΌΠ΅ обаТданията, Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π»ΠΈΡ…Π²ΠΈ ΠΈΠΌΠ° ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ дълТим Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡ…Π²ΠΈ Ρ‚ΡƒΠΊ. ΠžΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° балансирамС всСки ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ pgbench ΠΈ ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

ИмамС и K001 и K002.

K001 Π΅ Π΅Π΄ΠΈΠ½ голям Π½ΠΈΠ· с Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠ·Π°. Π’ΠΎΠ²Π° Π΅ характСристика Π½Π° цСлия Π½ΠΈ Ρ‚ΠΎΠ²Π°Ρ€. Π’ΠΈΠΆΡ‚Π΅ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ втория ΠΏΠΎΠ΄Ρ€Π΅Π΄. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ ΠΎΠΊΠΎΠ»ΠΎ Π΅Π΄Π½Π° сСкунда ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π² сСкунда, Ρ‚.Π΅. Π°ΠΊΠΎ ΠΈΠΌΠ° Π΄Π²Π΅ ядра, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅. Π©Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 75% ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚. И Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚Π°ΠΊΠ°. Ако ΠΈΠΌΠ°ΠΌΠ΅ 10 ядра, Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠ°Ρ‚ΠΎ цяло Ρ‰Π΅ смС спокойни. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ рСсурситС.

K002 Π΅ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π°Π· Π½Π°Ρ€ΠΈΡ‡Π°ΠΌ класовС Π½Π° заявки, Ρ‚.Π΅. Π˜Π—Π‘Π•Π Π•Π’Π•, Π’ΠœΠͺΠšΠΠ•Π’Π•, ΠΠšΠ’Π£ΠΠ›Π˜Π—Π˜Π ΠΠΠ•, Π˜Π—Π’Π Π˜Π’ΠΠΠ•. И ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ SELECT FOR UPDATE, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅.

И Ρ‚ΡƒΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠΌ, Ρ‡Π΅ SELECT Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π» - 82% ΠΎΡ‚ всички обаТдания, Π½ΠΎ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ - 74% Π² total_time. ВоСст, Ρ‚Π΅ сС Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ​​​​много, Π½ΠΎ консумират ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ рСсурси.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И сС Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ°: β€žΠšΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ shared_buffers?β€œ ЗабСлязвам, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ сС основават Π½Π° идСята - Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²Π° Ρ‰Π΅ бъдС пропускатСлната способност, Ρ‚.Π΅. ΠΊΠ°ΠΊΠ²Π° Ρ‰Π΅ бъдС пропускатСлната способност. ОбикновСно сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Π² TPS ΠΈΠ»ΠΈ QPS.

И Π½ΠΈΠ΅ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΡŠΠ³Π½Π΅ΠΌ възмоТно Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда ΠΎΡ‚ ΠΊΠΎΠ»Π°Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° настройка. Π•Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ 311 Π² сСкунда Π·Π° ΠΈΠ·Π±Ρ€Π°Π½ΠΈ.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Но Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΊΠ°Ρ€Π° Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²ΠΊΡŠΡ‰ΠΈ с пълна скорост. Π’ΠΎΠ²Π° Π΅ Π³Π»ΡƒΠΏΠ°Π²ΠΎ. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ с Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. НС Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΠΊΠ°Ρ€Π°ΠΌΠ΅ с пълна скорост ΠΈ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ. Никой Π½Π΅ ΠΆΠΈΠ²Π΅Π΅ Π² производство, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ° 100% CPU. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ някой ΠΆΠΈΠ²Π΅Π΅, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅.

Π˜Π΄Π΅ΡΡ‚Π° Π΅, Ρ‡Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΊΠ°Ρ€Π°ΠΌΠ΅ с 20 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΠΎΡ‚ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚Π°, Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 50%. И Π½ΠΈΠ΅ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция ΠΏΡ€Π΅Π΄ΠΈ всичко Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. ВоСст трябва Π΄Π° си Π·Π°Π²ΡŠΡ€Ρ‚ΠΈΠΌ ΠΊΠΎΠΏΡ‡Π΅Ρ‚Π°Ρ‚Π°, Π·Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° латСнтност ΠΏΡ€ΠΈ 20% скорост, условно. Π’ΠΎΠ²Π° Π΅ идСя, която Π½ΠΈΠ΅ ΡΡŠΡ‰ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² Π½Π°ΡˆΠΈΡ‚Π΅ СкспСримСнти.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

И накрая ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ:

  • Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Database Lab.
  • Ако Π΅ възмоТно, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π³ΠΎ ΠΏΡ€ΠΈ поискванС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° сС Ρ€Π°Π·Π³ΡŠΠ½Π΅ Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅ - ΠΈΠ³Ρ€Π°ΠΉΡ‚Π΅ ΠΈ Π³ΠΎ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΎΠ±Π»Π°Ρ†ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ²Π° сС Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‚.Π΅. ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ правостоящи.
  • Π‘ΡŠΠ΄ΠΈ Π»ΡŽΠ±ΠΎΠΏΠΈΡ‚Π΅Π½. И Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ с СкспСримСнти ΠΊΠ°ΠΊ сС Π΄ΡŠΡ€ΠΆΠΈ. Нанси ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° сС ΠΎΠ±ΡƒΡ‡ΠΈΡ‚Π΅, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π°Π·Π°Ρ‚Π°.
  • И сС стрСмСтС към ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° рСакция.
  • И Π½Π΅ сС страхувайтС ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Postgres. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ, трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ английски. Π’Π°ΠΌ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Ρ‚Π°ΠΌ всичко Π΅ обяснСно.
  • И провСрявайтС изправността Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ, ΠΏΠΎΠ½Π΅ вСднъТ Π½Π° всСки Ρ‚Ρ€ΠΈ мСсСца, Ρ€ΡŠΡ‡Π½ΠΎ ΠΈΠ»ΠΈ Postgres-checkup.

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π’ΡŠΠΏΡ€ΠΎΡΠΈ

Благодаря ΠΌΠ½ΠΎΠ³ΠΎ! Много интСрСсно Π½Π΅Ρ‰ΠΎ.

Π”Π²Π΅ ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π°.

Π”Π°, Π΄Π²Π° броя. Π‘Π°ΠΌΠΎ Π΄Π΅Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π·Π±Ρ€Π°Ρ… ΠΌΠ½ΠΎΠ³ΠΎ. ΠšΠΎΠ³Π°Ρ‚ΠΎ Нанси ΠΈ Π°Π· Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ Π΄Π° промСнямС само Π΅Π΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ ΠΈΠ»ΠΈ цяла Π³Ρ€ΡƒΠΏΠ°?

ИмамС Π΄Π΅Π»Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ искатС навСднъТ. Но трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠ½ΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ.

Π΄Π° Π—Π°Ρ‰ΠΎ ΠΏΠΎΠΏΠΈΡ‚Π°Ρ…? Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ СкспСримСнти, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ само Π΅Π΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€. Π‘Ρ‚Π΅Π³Π½Π΅Ρ‚Π΅ Π³ΠΎ, Π²ΠΈΠΆΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π˜Π·Π³ΠΎΠ½ΠΈΡ… Π³ΠΎ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚Π΅ слСдващия.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ стСгнСтС Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ зависи ΠΎΡ‚ ситуацията, Ρ€Π°Π·Π±ΠΈΡ€Π° сС. Но Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° тСстватС Π΅Π΄Π½Π° идСя. Π’Ρ‡Π΅Ρ€Π° Π½ΠΈ Ρ…Ρ€ΡƒΠΌΠ½Π° идСя. Π˜ΠΌΠ°Ρ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠ·ΠΊΠ° ситуация. ИмашС Π΄Π²Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. И Π½Π΅ ΠΌΠΎΠΆΠ°Ρ…ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π·Π°Ρ‰ΠΎ ΠΈΠΌΠ° голяма Ρ€Π°Π·Π»ΠΈΠΊΠ°. И възникна идСята, Ρ‡Π΅ трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ дихотомията, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ послСдоватСлно ΠΈ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²Π° Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ, слСд Ρ‚ΠΎΠ²Π° Π΅Π΄Π½Π° Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ ΠΈ Ρ‚.Π½. Всичко Π΅ гъвкаво.

И ΠΈΠΌΠ° ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Π²ΡŠΠΏΡ€ΠΎΡ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ ΠΌΠ»Π°Π΄ ΠΈ сС Ρ€Π°Π·Π²ΠΈΠ²Π°. ДокумСнтацията Π²Π΅Ρ‡Π΅ Π΅ Π³ΠΎΡ‚ΠΎΠ²Π°, ΠΈΠΌΠ° Π»ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС?

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»Π½ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… Π»ΠΈΠ½ΠΊ Ρ‚Π°ΠΌ към описаниСто Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅. Π’Π°ΠΌ Π»ΠΈ Π΅. Но ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π° всС ΠΎΡ‰Π΅ Π³ΠΈ няма. Π’ΡŠΡ€ΡΡ ΡΡŠΠΌΠΈΡˆΠ»Π΅Π½ΠΈΡ†ΠΈ. И Π³ΠΈ Π½Π°ΠΌΠΈΡ€Π°ΠΌ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ изпълнявам. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ яко. Някой Π²Π΅Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΌΠ΅Π½, някой ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ Ρ‚Π°ΠΌ. И Π°ΠΊΠΎ сС интСрСсуватС ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ°, Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΊΠ°ΠΊΠ²ΠΎ липсва.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ лабораторията, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Ρ‰Π΅ ΠΈΠΌΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. Π”Π° Π²ΠΈΠ΄ΠΈΠΌ. Благодаря Ρ‚ΠΈ!

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Видях, Ρ‡Π΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Amazon. Има Π»ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π½Π° GSP?

Π”ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ. Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ. И Π½ΠΈΠ΅ Π³ΠΎ Π·Π°ΠΌΡ€Π°Π·ΠΈΡ…ΠΌΠ΅ засСга, Π·Π°Ρ‰ΠΎΡ‚ΠΎ искамС Π΄Π° спСстим ΠΏΠ°Ρ€ΠΈ. ВоСст ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° run on localhost. ΠœΠΎΠΆΠ΅Ρ‚Π΅ сами Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ СкзСмпляр ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Ρ‚ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ. ΠŸΡ€Π°Π²Ρ Ρ‚ΠΎΠ²Π° Π² Getlab, Ρ‚Π°ΠΌ Π² GSP. Но всС ΠΎΡ‰Π΅ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ смисъл Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠ°Π²Π° оркСстрация, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Google няма Π΅Π²Ρ‚ΠΈΠ½ΠΈ мСста. Има ??? случаи, Π½ΠΎ Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ ограничСния. ΠŸΡŠΡ€Π²ΠΎ, Ρ‚Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°Ρ‚ само 70% ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° си ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ с Ρ†Π΅Π½Π°Ρ‚Π° Ρ‚Π°ΠΌ. На спотовС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ Ρ†Π΅Π½Π°Ρ‚Π° с 5-10%, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ вСроятността Π΄Π° Π±ΡŠΠ΄Π΅Ρ‚Π΅ Ρ€ΠΈΡ‚Π½Π°Ρ‚ΠΈ. ВоСст спСстяватС ΠΏΠ΅Ρ‚Π½Π°, Π½ΠΎ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΠΈ Π±ΡŠΠ΄Π°Ρ‚ ΠΎΡ‚Π½Π΅Ρ‚ΠΈ ΠΏΠΎ всяко Π²Ρ€Π΅ΠΌΠ΅. Ако Π½Π°Π΄Π΄Π°Π²Π°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-високо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅, Ρ‰Π΅ Π±ΡŠΠ΄Π΅Ρ‚Π΅ ΡƒΠ±ΠΈΡ‚ ΠΏΠΎ-късно. Google ΠΈΠΌΠ° съвсСм Π΄Ρ€ΡƒΠ³Π° спСцифика. И ΠΈΠΌΠ° ΠΎΡ‰Π΅ Π΅Π΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ лошо ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ - ТивСят само 24 часа. И понякога искамС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ СкспСримСнт Π·Π° 5 Π΄Π½ΠΈ. Но ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Π½Π° ΠΏΠ΅Ρ‚Π½Π°; ΠΏΠ΅Ρ‚Π½Π°Ρ‚Π° понякога ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ с мСсСци.

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π‘ΠΏΠΎΠΌΠ΅Π½Π°Ρ…Ρ‚Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄. Как изчисляватС Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ Π½Π° stat_statements?

Много Π΄ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ. Мога Π΄Π° Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Накратко, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ сС Π΅ Π΄Π²ΠΈΠΆΠΈΠ» Π½Π°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π³Ρ€ΡƒΠΏΠΈ заявки: ΠΊΠΎΠ»ΠΊΠΎ са ΠΏΠ°Π΄Π½Π°Π»ΠΈ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ са сС появили. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π΄Π²Π° показатСля: total_time ΠΈ calls, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠΌΠ° Π΄Π²Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. И Π½ΠΈΠ΅ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ приноса Π½Π° ΠΏΠ»Π°Π²Π°Ρ‰ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ. Има Π΄Π²Π΅ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΈ: Π·Π°ΠΌΠΈΠ½Π°Π»ΠΈ ΠΈ пристигнали. Π”Π° Π²ΠΈΠ΄ΠΈΠΌ какъв Π΅ ΠΏΡ€ΠΈΠ½ΠΎΡΡŠΡ‚ ΠΈΠΌ към ΠΎΠ±Ρ‰Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°.

НС сС Π»ΠΈ страхуватС, Ρ‡Π΅ Ρ‰Π΅ сС ΠΎΠ±ΡŠΡ€Π½Π΅ Ρ‚Π°ΠΌ Π΄Π²Π° ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ ΠΏΡ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈΡ‚Π΅ снимки?

ВоСст ΠΏΠ°ΠΊ Π»ΠΈ сС рСгистрираха ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ?

НапримСр, Ρ‚Π°Π·ΠΈ заявка Π²Π΅Ρ‡Π΅ Π΅ Π±ΠΈΠ»Π° ΠΈΠ·ΠΏΡ€Π΅Π²Π°Ρ€Π²Π°Π½Π° вСднъТ, слСд Ρ‚ΠΎΠ²Π° Π΅ пристигнала ΠΈ Π΅ Π±ΠΈΠ»Π° ΠΈΠ·ΠΏΡ€Π΅Π²Π°Ρ€Π΅Π½Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ, слСд Ρ‚ΠΎΠ²Π° Π΅ дошла ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ Π΅ Π±ΠΈΠ»Π° ΠΈΠ·ΠΏΡ€Π΅Π²Π°Ρ€Π΅Π½Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ. И Ρ‚ΠΈ си изчислил Π½Π΅Ρ‰ΠΎ Ρ‚ΡƒΠΊ ΠΈ къдС Π΅ всичко?

Π”ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ, Ρ‰Π΅ трябва Π΄Π° ΠΏΠΎΡ‚ΡŠΡ€ΡΠΈΠΌ.

Аз Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π΅Ρ‰ΠΎ. Π‘Π΅ΡˆΠ΅ ΠΏΠΎ-просто, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… Π³ΠΎ сам. Но Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π½ΡƒΠ»ΠΈΡ€Π°ΠΌ, Π΄Π° Π½ΡƒΠ»ΠΈΡ€Π°ΠΌ stat_statements ΠΈ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π°Ρ‚Π° снимка, Ρ‡Π΅ ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° част, която всС ΠΎΡ‰Π΅ Π½Π΅ достига Ρ‚Π°Π²Π°Π½Π° Π½Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ stat_statements ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Ρ‚ Ρ‚Π°ΠΌ. И ΠΌΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅, Ρ‡Π΅ Π½Π°ΠΉ-вСроятно Π½ΠΈΡ‰ΠΎ Π½Π΅ Π΅ измСстСно.

Π”Π° Π΄Π°.

Но Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ ΠΊΠ°ΠΊ ΠΈΠ½Π°Ρ‡Π΅ Π΄Π° Π³ΠΎ направя Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ.

Π—Π° съТалСниС, Π½Π΅ помня Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π°Π»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ тСкста Π½Π° заявката Ρ‚Π°ΠΌ ΠΈΠ»ΠΈ queryid с pg_stat_statements ΠΈ сС фокусирамС Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ. Ако сС фокусирамС Π²ΡŠΡ€Ρ…Ρƒ queryid, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π° тСория сравнявамС сравними Π½Π΅Ρ‰Π°.

НС, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π³ΠΎΠ½Π΅Π½ няколко ΠΏΡŠΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈΡ‚Π΅ снимки ΠΈ Π΄Π° Π΄ΠΎΠΉΠ΄Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ.

Бъс ΡΡŠΡ‰ΠΈΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€?

Π”Π°.

Π©Π΅ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΠ²Π°. Π”ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ. Врябва Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΠΌ. Но засСга Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Π΅ ΠΈΠ»ΠΈ написано 0...

Π’ΠΎΠ²Π°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π΅ Ρ€ΡΠ΄ΡŠΠΊ случай, Π½ΠΎ бях ΡˆΠΎΠΊΠΈΡ€Π°Π½, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·Π±Ρ€Π°Ρ…, Ρ‡Π΅ stat_statemetns ΠΌΠΎΠΆΠ΅ Π΄Π° измСсти Ρ‚Π°ΠΌ.

МоТС Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π° Π² Pg_stat_statements. ΠΠ°Ρ‚ΡŠΠΊΠ½Π°Ρ…ΠΌΠ΅ сС Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π°ΠΊΠΎ стС Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ track_utility =, Π²Π°ΡˆΠΈΡ‚Π΅ Π½Π°Π±ΠΎΡ€ΠΈ ΡΡŠΡ‰ΠΎ сС прослСдяват.

Π”Π°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС.

И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ java hibernate, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС Π½Π°ΠΌΠΈΡ€Π° Ρ‚Π°ΠΌ. И Ρ‰ΠΎΠΌ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, накрая ΠΈΠΌΠ°Ρ‚Π΅ 50-100 Π³Ρ€ΡƒΠΏΠΈ. И Ρ‚Π°ΠΌ всичко Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ стабилно. Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Π±ΠΎΡ€Π±Π° с Ρ‚ΠΎΠ²Π° Π΅ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ pg_stat_statements.max.

Π”Π°, Π½ΠΎ трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ. И ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ трябва Π΄Π° Π³ΠΎ Π΄ΡŠΡ€ΠΆΠΈΠΌ ΠΏΠΎΠ΄ ΠΎΠΊΠΎ. Аз Ρ‚ΠΎΠ²Π° правя. ВоСст ΠΈΠΌΠ°ΠΌ pg_stat_statements.max. И Π²ΠΈΠΆΠ΄Π°ΠΌ, Ρ‡Π΅ към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π°Ρ‚Π° снимка Π½Π΅ бях достигнал 70%. Π”ΠΎΠ±Ρ€Π΅, Π·Π½Π°Ρ‡ΠΈ Π½Π΅ смС Π·Π°Π³ΡƒΠ±ΠΈΠ»ΠΈ Π½ΠΈΡ‰ΠΎ. Π”Π° Π½ΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅. И ΠΏΠ°ΠΊ спСстявамС. Ако слСдващата снимка Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΎΡ‚ 70, Π½Π°ΠΉ-вСроятно Π½Π΅ стС Π·Π°Π³ΡƒΠ±ΠΈΠ»ΠΈ Π½ΠΈΡ‰ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ.

Π΄Π° По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π²Π΅Ρ‡Π΅ Π΅ 5. И Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π°.

ОбикновСно да.

Video:

PS ΠžΡ‚ своС ΠΈΠΌΠ΅ Ρ‰Π΅ добавя, Ρ‡Π΅ Π°ΠΊΠΎ Postgres ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² тСстовата срСда, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Анонимизатор Π½Π° PostgreSQL. Π‘Ρ…Π΅ΠΌΠ°Ρ‚Π° Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ слСдната:

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° PostgreSQL: СкспСримСнти Π²ΡŠΡ€Ρ…Ρƒ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ." Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ²

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€