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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с интСрпрСтацията Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² "ΠŸΡ€ΠΎΠΌΠΈΡˆΠ»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към tuning Π½Π° 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, Π²Ρ‚ΠΎΡ€ΠΎ място Π² свСта. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ сС ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°ΠΌΠ΅ Π΄ΠΎ 2000 Π΄ΡƒΡˆΠΈ. 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. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ, ΠΏΠΎΡ‡Ρ‚ΠΈ цялата Π½ΠΈ комуникация Π΅ Π² Open Source. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΈΠΌΠ° Π² слСдващото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ‚.Π½.
  • Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ ΠΈΠΌΠ° някакъв ΠΎΠΏΠΈΡ‚ Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ ΠΈ инструмСнти Π² Ρ€Π΅Π΄ΠΈΡ†Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ: ΠΎΡ‚ ΠΌΠ°Π»ΠΊΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡŠΠΏΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

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

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

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

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

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

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

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

Има Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Pg_stat_statements Π΅ стандартното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ заявки. И Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Postgres с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pgBadger.

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

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

Как DBA Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ?

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

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

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

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

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

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

Аз съм Π±ΠΎΡ€Π΅Ρ† срСщу Ρ‚Π°Π·ΠΈ Ρ‡Π΅Ρ€Π½Π° магия. Искам всичко Π΄Π° бъдС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π° Π½Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ.

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

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

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

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

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

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

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

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

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

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ СкспСримСнт. Π•Ρ‚ΠΎ pg_stat_statements. ΠžΡ‚Π»ΡΠ²ΠΎ – ΠΊΠ°ΠΊΠ²ΠΎ бСшС. ΠžΡ‚Π΄ΡΡΠ½ΠΎ – ΠΊΠ°ΠΊΠ²ΠΎ стана.

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

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

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

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

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

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

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

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

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

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

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

ΠžΡ‚ наблюдСния Π²ΡŠΡ€Ρ…Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ индустрии ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ·Π²ΠΎΠ΄ΠΈ.

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

На ΠΏΡŠΡ€Π²ΠΎ място, ΠΈΠΌΠ°ΠΌΠ΅ спСциална срСда. Вя Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ продукция, Π½ΠΎ Π½Π΅ Π΅ съвсСм Ρ‚Π°ΠΊΠ°. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ѝ характСристика Π΅, Ρ‡Π΅ трябва Π΄Π° бъдС ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½Π°, повтаряСма ΠΈ максимално Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π°. И трябва Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ спСциални срСдства Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π΄Π΅Ρ‚Π°ΠΉΠ»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·.

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

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

Nancy CLI – основата Π½Π° β€žΠ»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡΡ‚Π° Π½Π° Π‘Π”β€œ

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

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

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

Nancy β€” Π’ΠΎΠ²Π° Π΅ Π² Open Source, Π½Π° Gitlab. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅. Π”Π°Π΄ΠΎΡ… Π»ΠΈΠ½ΠΊ Π² слайдовСтС. МоТС Π΄Π° сС ΠΊΠ»ΠΈΠΊΠ½Π΅ ΠΈ Ρ‚Π°ΠΌ Ρ‰Π΅ ΠΈΠΌΠ° help ΠΏΠΎ всички ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.

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

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

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

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

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

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

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

ΠžΠ±Π΅ΠΊΡ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΏΠΎ Ρ‚Ρ€ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°. Π’ΠΎΠ²Π° Π΅:

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

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

И Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ:

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

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

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

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

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

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

Какви тСхничСски слоТности ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ?

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

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ искамС Π΄Π° повтарямС Ρ€Π΅Π°Π»Π½Π° натоварСност с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΆΡƒΡ€Π½Π°Π»ΠΈ. ΠžΡ‚Π»ΠΈΡ‡Π½Π° идСя, Π°ΠΊΠΎ Π΅ написана Π½Π° Open Source pgreplay. НиС Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Но, Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, трябва Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ Π»ΠΎΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° заявкитС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Има някои слоТности относно duration ΠΈ timestamp. Всичко Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π³ΠΎ пропуснСм. ВаТният Π²ΡŠΠΏΡ€ΠΎΡ Π΅ – ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π΄Π° си Π³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅?

ΠŸΡ€ΠΎΠΌΠΈΡˆΠ»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към настройката Π½Π° 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 Π² Амазон ΠΈΠΌΠ°ΠΌΠ΅ 37 000 TPS. А Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ Π½Π° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ Π½Π°Ρ‡ΠΈΠ½Π° Π½Π° Π»ΠΎΠ³ΠΈΡ€Π°Π½Π΅, ситуацията става ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π°. Π’.Π΅. ΠΎΡ‡Π°ΠΊΠ²Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ Ρ‰Π΅ спаднС, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°.

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

А Π½Π° CentOS 7, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΎΡ‰Π΅ участва journald, ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ Π² Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° удобство ΠΏΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ Ρ‚.Π½., Ρ‚Π°ΠΌ Π΅ наистина уТасно, ΡΠΏΠ°Π΄ΡŠΡ‚ Π΅ 44 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ TPS.

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

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

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

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

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

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

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

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

А ΠΊΠ°ΠΊ Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² production? Каква Π΅ частта ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ? Π’ΡƒΠΊ Π»Π΅ΠΊΠΎ сС отклонявамС. ИмамС ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ postgres-checkup. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π±Π°Π·Π° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. И Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅.

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

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

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

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

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

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

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

Π‘ΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΠΉ-влиятСлнитС Π³Ρ€ΡƒΠΏΠΈ Π½Π° заявки – ΠΎΡ‚Ρ‡Π΅Ρ‚ К003 Π² Postgres-checkup

И Ρ‚Π°ΠΌ ΠΈΠΌΠ° Π³Ρ€ΡƒΠΏΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ К. Π’Ρ€ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. И ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°ΠΊΡŠΠ² ΠΎΡ‚Ρ‡Π΅Ρ‚ К003. Π’Π°ΠΌ Π΅ Π²ΡŠΡ€Ρ…ΡŠΡ‚ ΠΎΡ‚ pg_stat_statements, ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΏΠΎ total_time.

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

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

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

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

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

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

А Ρ‚ΡƒΠΊ Π·Π½Π°Π΅ΠΌ, Ρ‚ΡƒΠΊ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π° ΡΠ½Π΅ΠΏΡˆΠΎΡ‚Π°. Π—Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π΄Π΅Π»ΡŒΡ‚Π°Ρ‚Π° Π² Ρ‚ΠΎΠ·ΠΈ случай бСшС 56 сСкунди. Много малък ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. ΠŸΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ…ΠΌΠ΅ ΠΏΠΎ total_time. И слСд Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°ΠΌΠ΅, Ρ‚.Π΅. Π΄Π΅Π»ΠΈΠΌ всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° duration. Ако Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ всяка ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π½Π° duration, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±Ρ€ΠΎΠΉ повиквания Π² сСкунда.

По-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ, total_time Π½Π° сСкунда – Ρ‚ΠΎΠ²Π° Π΅ моята любима ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°. Вя сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Π² сСкунди, Ρ‚.Π΅. ΠΊΠΎΠ»ΠΊΠΎ сСкунди Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π½Π°ΡˆΠ°Ρ‚Π° систСма Π·Π° изпълнСниС Π½Π° Ρ‚Π°Π·ΠΈ Π³Ρ€ΡƒΠΏΠ° заявки Π² сСкунда. Ако Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ сСкунда Π½Π° сСкунда, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ядро. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡƒ трябват ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ‚Ρ€ΠΈ ядра.

Π•Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ нововъвСдСниС, Π½Π΅ съм Π²ΠΈΠΆΠ΄Π°Π» ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ никъдС. ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ – Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ проста Π²Π΅Ρ‰ – сСкунда Π½Π° сСкунда. Понякога, ΠΊΠΎΠ³Π°Ρ‚ΠΎ CPU Π΅ 100 %, Π·Π½Π°Ρ‡ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ час Π½Π° сСкунда, Ρ‚.Π΅. ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ час стС сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Π»ΠΈ само с Ρ‚Π΅Π·ΠΈ заявки.

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

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

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

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

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

И ΠΏΠΎ total_time ΡΡŠΡ‰ΠΎ Π΅ интСрСсно. Π—Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° заявки смС ΠΏΠΎΡ…Π°Ρ€Ρ‡ΠΈΠ»ΠΈ 14 % ΠΎΡ‚ цялото Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. А Π·Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° – 11 % ΠΈ Ρ‚.Π½.

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

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

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

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

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

ИмамС и К001 и К002.

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

К002 – Ρ‚ΠΎΠ²Π° Π³ΠΈ Π½Π°Ρ€ΠΈΡ‡Π°ΠΌ класовС Π½Π° запитвания, Ρ‚.Π΅. SELECT, INSERT, UPDATE, DELETE. И ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ SELECT FOR UPDATE, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°.

И Ρ‚ΡƒΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠΌ, Ρ‡Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ SELECT запитвания – 82 % ΠΎΡ‚ всички ΠΏΡ€ΠΈΠ·ΠΈΠ²ΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ Ρ‚ΠΎΠ²Π° – 74 % ΠΏΠΎ ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅. ВоСст Ρ‚Π΅ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ потрСбяват ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ рСсурси.

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

И сС Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ°: «Как Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ shared_buffers?Β». Наблюдавам, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ сС основават Π½Π° идСята – Π½Π΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²Π° Ρ‰Π΅ Π΅ пропускната способност, Ρ‚.Π΅. какъв Ρ‰Π΅ Π΅ throughput. ОбикновСно сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Π² TPS ΠΈΠ»ΠΈ QPS.

И сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·Ρ†Π΅Π΄ΠΈΠΌ ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° настройка ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ сС ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда. Π’ΡƒΠΊ ΠΈΠΌΠ°ΠΌΠ΅ 311 Π² сСкунда Π·Π° select.

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

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

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

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

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

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

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

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

Много благодаря! Много интСрСсна информация.

Π”Π²Π΅ Π½Π΅Ρ‰Π°.

Π”Π°, Π΄Π²Π΅ Π½Π΅Ρ‰Π°. Π‘Π°ΠΌΠΎ Ρ‡Π΅ Π½Π΅ съвсСм Ρ€Π°Π·Π±Ρ€Π°Ρ…. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Nancy, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ Π΄Π° настройвамС само Π΅Π΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ ΠΈΠ»ΠΈ цяла Π³Ρ€ΡƒΠΏΠ°?

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

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

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

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

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

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

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

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

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

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

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

Π’.Π΅. Ρ‚Π΅ са сС рСгистрирали ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ?

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

Π”ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ, трябва Π΄Π° сС ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅.

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

Π”Π°-Π΄Π°.

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

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

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

Π‘ Ρ‚ΠΎΠ·ΠΈ ID?

Π”Π°.

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

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

Π’ Pg_stat_statements ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°. Π‘Π»ΡƒΡ‡Π²Π°Π»ΠΎ сС Π΅, Ρ‡Π΅ Π°ΠΊΠΎ track_utility Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Π²Π°ΡˆΠΈΡ‚Π΅ Ρ€Π°ΠΊΠΎΠ²ΠΈΠ½ΠΈ ΡΡŠΡ‰ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ прослСдявани.

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

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

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

Π”Π°. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сСга Π΅ 5000. И ΠΌΠ½ΠΎΠ³ΠΎ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ.

ОбикновСно – Π΄Π°.

Π’ΠΈΠ΄Π΅ΠΎ:

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

P.S. ΠžΡ‚ сСбС си добавям, Ρ‡Π΅ Π°ΠΊΠΎ Π² Postgres ΠΈΠΌΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π΅ трябва Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ Π² тСстовата срСда, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ PostgreSQL Anonymizer. Π‘Ρ…Π΅ΠΌΠ°Ρ‚Π° Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ слСдната:

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

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster