Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ стСнограмата Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° 2016 Π³. ΠΎΡ‚ АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ² β€žΠ’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСнията, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π² postgresqlβ€œ

Π’ Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Ρ‰Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ основнитС Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСнията, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ ΠΈ писанС Π½Π° ΠΊΠΎΠ΄ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. И Ρ‰Π΅ Π²Π·Π΅ΠΌΠ° само ΠΎΠ½Π΅Π·ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π² Postgresql. По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° края Π½Π° производитСлността Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° систСма ΠΊΠ°Ρ‚ΠΎ цяло, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π½Π΅ сС Π²ΠΈΠΆΠ΄Π°Ρ…Π° прСдпоставки Π·Π° Ρ‚ΠΎΠ²Π°.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π Π°Π΄Π²Π°ΠΌ сС Π΄Π° привСтствам всички! Π’ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° тСхничСски, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΎΡ‚ моя ΠΊΠΎΠ»Π΅Π³Π°. Π’ΠΎΠ·ΠΈ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ Π΅ насочСн към Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π±Π΅ΠΊ-Π΅Π½Π΄ систСми Π³Π»Π°Π²Π½ΠΎ Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ доста голям Π±Ρ€ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. И всички правят Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ. Π©Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π·Π° тях. Π©Π΅ обясня Π΄ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Ρ„Π°Ρ‚Π°Π»Π½ΠΎ ΠΈ лошо водят Ρ‚Π΅Π·ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π—Π°Ρ‰ΠΎ сС допускат Π³Ρ€Π΅ΡˆΠΊΠΈ? Π’Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠΎ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ: Π½Π° случаСн ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° някои ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС случват Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°Ρ‚Π° ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² самата Π±Π°Π·Π°.

Π©Π΅ Π²ΠΈ Π΄Π°ΠΌ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с уТасни ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΈ ΠΊΠ°ΠΊ Π½Π΅Ρ‰Π°Ρ‚Π° сС Π²Π»ΠΎΡˆΠΈΡ…Π°. Π©Π΅ опиша Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, ΠΊΠΎΠΉΡ‚ΠΎ сС случва Ρ‚Π°ΠΌ. И ΠΊΠ°ΠΊ Π΄Π° сС справитС с тях, ΠΊΠΎΠ³Π° са сС случили ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€Π΅Π²Π°Π½Ρ‚ΠΈΠ²Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. Π©Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π·Π° ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ инструмСнти ΠΈ Ρ‰Π΅ Π΄Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ… тСстова Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ°Ρ… Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Π•Π΄Π½Π°Ρ‚Π° Ρ‚Π°Π±Π΅Π»ΠΊΠ° със смСтки Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ‚Π΅Π·ΠΈ смСтки. И с извСстна пСриодичност Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ салдата ΠΏΠΎ Ρ‚Π΅Π·ΠΈ смСтки.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°: тя Π΅ доста ΠΌΠ°Π»ΠΊΠ°, 2 MB. Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ. И доста Π΄ΠΎΠ±Ρ€ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ - 2 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² сСкунда Π½Π° ΠΏΠ»ΠΎΡ‡Π°Ρ‚Π°.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И Ρ‡Ρ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π·Π° Π΄Π° Π΅ ясно ΠΊΠ°ΠΊΠ²ΠΎ сС случва. Π’ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ ΠΈΠΌΠ° 2 слайда с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ слайд Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва ΠΊΠ°Ρ‚ΠΎ цяло Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

И Π² Ρ‚Π°Π·ΠΈ ситуация Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ наистина ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠ° чиния. Π˜Π½Π΄Π΅ΠΊΡΡŠΡ‚ Π΅ малък - 2 MB. Π’ΠΎΠ²Π° Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° вляво.

Π‘Ρ€Π΅Π΄Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π² ΡΡŠΡ€Π²ΡŠΡ€Π° ΡΡŠΡ‰ΠΎ Π΅ стабилно, ΠΌΠ°Π»ΠΊΠΎ. Π’ΠΎΠ²Π° Π΅ Π³ΠΎΡ€Π½Π°Ρ‚Π° дясна Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

Π”ΠΎΠ»Π½Π°Ρ‚Π° лява Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π΅ с Π½Π°ΠΉ-Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ. И Ρ‚ΡƒΠΊ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ ΠΎΡ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ - бСшС старт-тСст. Π’ΠΎΠ³Π°Π²Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Ρ‰Π΅ Π½ΠΈ бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π”ΠΎΠ»Π½Π°Ρ‚Π° дясна Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° ΠΈ дискова ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ Π² Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° ΠΎΡ‚ нас линия, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° я Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅. И броят Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ»ΠΎΡ‡Π°Ρ‚Π° Π΅ 2 Π² сСкунда, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π°Ρ… Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И сСга ΠΈΠΌΠ°ΠΌΠ΅ трагСдия. По някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° сС случва ΠΎΡ‚Π΄Π°Π²Π½Π° Π·Π°Π±Ρ€Π°Π²Π΅Π½Π° транзакция. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ са Π±Π°Π½Π°Π»Π½ΠΈ:

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

Π”ΠΎΠΊΡŠΠ΄Π΅ водят Ρ‚Π°ΠΊΠΈΠ²Π° Π½Π΅Ρ‰Π°?

Π”ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΈ индСкси Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° Π½Π°Π±ΡŠΠ±Π²Π°Ρ‚ драстично. Π’ΠΎΠ²Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΡŠΡ‰ΠΈΡ Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅. Π—Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ сС ΠΈΠ·Ρ€Π°Π·ΠΈ Π² Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ рязко ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Ρ‰Π΅ сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ пострада. Π—Π°Ρ‰ΠΎΡ‚ΠΎ, Π°ΠΊΠΎ във вашия ΠΊΠΎΠ΄ стС ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π»ΠΈ 10 милисСкунди Π·Π° заявка към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, 10 милисСкунди Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° Π²Π°ΡˆΠ°Ρ‚Π° функция Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»Π° 20 милисСкунди. И сСга ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²ΠΈ Ρ‰Π΅ бъдС ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΡŠΠΆΠ½ΠΎ.

И Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ станС. Π”ΠΎΠ»Π½Π°Ρ‚Π° лява Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ дълга дълга транзакция. И Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π³ΠΎΡ€Π½Π°Ρ‚Π° лява Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π΅ скочил ΠΎΡ‚ Π΄Π²Π° ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Π½Π° 300 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ количСството Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π½Π΅ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΎ, тоСст ΠΈΠΌΠ° доста голямо количСство Π±ΠΎΠΊΠ»ΡƒΠΊ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

ΠžΠ±Ρ‰Π°Ρ‚Π° ситуация ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΡΡŠΡ‰ΠΎ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»Π° с няколко ΠΏΠΎΡ€ΡΠ΄ΡŠΠΊΠ°. ВоСст, всички заявки Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° напълно Π΄Π° ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Ρ‚. И Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ бяха пуснати Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ процСси Π½Π° Postgres Π² Π»ΠΈΡ†Π΅Ρ‚ΠΎ Π½Π° autovacuum, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚ Π΄Π° направят Π½Π΅Ρ‰ΠΎ ΠΈ Π΄Π° консумират рСсурси.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

УспокоихмС сС, Π½ΠΎ слСд извСстно Π²Ρ€Π΅ΠΌΠ΅ Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° забСлязвамС, Ρ‡Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ спСшния случай. ЗаявкитС сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ всС ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ. Π•Π΄ΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄ΠΎ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² моя ΠΏΡ€ΠΈΠΌΠ΅Ρ€. НатоварванСто Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΏΠΎ-високо, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ бСшС ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π°.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

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

ΠšΠ°Ρ‚ΠΎ цяло Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΏΠΎ-лошо, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ бСшС. Π˜Π·Ρ€ΠΈΡ‡Π½ΠΎ влошаванС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ слСдствиС ΠΎΡ‚ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ‚Π°Π·ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва Ρ‚Π°ΠΌ, Π°ΠΊΠΎ Π½Π΅ стС Π±ΠΈΠ»ΠΈ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄, сСга ΠΌΠ°Π»ΠΊΠΎ тСория. ВСория Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ процСс. Π—Π°Ρ‰ΠΎ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ?

Π‘ΡƒΠΊΠ²Π°Π»Π½ΠΎ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Π’ Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ°ΠΌΠ΅ маса. ИмамС Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Π’Π΅Π·ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ, ΠΆΠΈΠ²ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° сСга. На снимката са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ Π² Π·Π΅Π»Π΅Π½ΠΎ. И ΠΈΠΌΠ° ΠΌΡŠΡ€Ρ‚Π²ΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈ, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са, Π½Π° тях са сС появили Π½ΠΎΠ²ΠΈ записи. И Ρ‚Π΅ са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ, Ρ‡Π΅ Π²Π΅Ρ‡Π΅ Π½Π΅ са интСрСсни Π·Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Но Ρ‚Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΏΠΎΡ€Π°Π΄ΠΈ особСноститС Π½Π° Postgres.

Π—Π°Ρ‰ΠΎ Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ? Autovacuum ΠΈΠ΄Π²Π° Π² някакъв ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ я ΠΏΠΈΡ‚Π°: "Моля, Π΄Π°ΠΉΡ‚Π΅ ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° Π½Π°ΠΉ-старата транзакция, която Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ." Π‘Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π²Ρ€ΡŠΡ‰Π° Ρ‚ΠΎΠ·ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. И Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚, Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°ΠΉΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ, ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. И Π°ΠΊΠΎ Π²ΠΈΠ΄ΠΈ, Ρ‡Π΅ някои Ρ€Π΅Π΄ΠΎΠ²Π΅ са ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-стари Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎ Π΄Π° Π³ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅, ΠΊΠ°Ρ‚ΠΎ записвамС Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‚Π°ΠΌ. Π’ΠΎΠ²Π° Π΅ Ρ„ΠΎΠ½ΠΎΠ² процСс.

По Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ някои ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. И Π½Π° Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, записвамС Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ. И ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Ρ†ΠΈΠΊΡŠΠ», тоСст Ρ‚Π°ΠΌ постоянно сС появяват някакви ΠΌΡŠΡ€Ρ‚Π²ΠΈ стари Ρ€Π΅Π΄ΠΎΠ²Π΅, вмСсто тях записвамС Π½ΠΎΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ. И Ρ‚ΠΎΠ²Π° Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ PostgreSQL.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Какво сС случи ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π°? Как сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΈ Ρ‚ΠΎΠ·ΠΈ процСс?

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

Но ΠΏΠΎ Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с масата. ΠŸΡ€Π°Π²ΠΈΠΌ Π½Π΅Ρ‰ΠΎ Π² Π½Π΅Π³ΠΎ, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π³ΠΎ, промСнямС Π΄Π°Π½Π½ΠΈΡ‚Π΅. Какво трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚? Вя няма Π΄Ρ€ΡƒΠ³ ΠΈΠ·Π±ΠΎΡ€, освСн Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π½ΠΎΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² края Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. И ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€ΠΈ нас Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° масата Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС Ρ€Π°Π·Π΄ΡƒΠ²Π°.

Наистина сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ Π·Π΅Π»Π΅Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ. Но ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° Π·Π΅Π»Π΅Π½ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ нисък Π² цСлия ΠΎΠ±Π΅ΠΌ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°.

И ΠΊΠΎΠ³Π°Ρ‚ΠΎ изпълним заявка, Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ ΠΏΡ€Π΅Π· всички Ρ€Π΅Π΄ΠΎΠ²Π΅, Ρ‡Π΅Ρ€Π²Π΅Π½ΠΈ ΠΈ Π·Π΅Π»Π΅Π½ΠΈ, Π·Π° Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ правилния Ρ€Π΅Π΄. А Π΅Ρ„Π΅ΠΊΡ‚ΡŠΡ‚ ΠΎΡ‚ Π½Π°Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π΄Π°Π½Π½ΠΈ сС Π½Π°Ρ€ΠΈΡ‡Π° "ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅", ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΡ‰ΠΎ изяТда дисковото Π½ΠΈ пространство. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Π»ΠΈ, Ρ‡Π΅ бСшС 2 MB, сСга Π΅ 300 MB? Π‘Π΅Π³Π° смСнСтС ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈΡ‚Π΅ Π½Π° Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ ΠΈ Ρ‰Π΅ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ всичкитС си дискови рСсурси доста Π±ΡŠΡ€Π·ΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Какви са послСдицитС Π·Π° нас?

  • Π’ моя ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ са нараснали 150 ΠΏΡŠΡ‚ΠΈ. Някои ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ са ΠΈΠΌΠ°Π»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ„Π°Ρ‚Π°Π»Π½ΠΈ случаи, ΠΊΠΎΠ³Π°Ρ‚ΠΎ дисковото пространство просто Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° ΡΠ²ΡŠΡ€ΡˆΠ²Π°.
  • ΠœΠ°ΡΠΈΡ‚Π΅ Π½ΠΈΠΊΠΎΠ³Π° няма Π΄Π° сС свият сами. ΠΠ²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π² някои случаи ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Ρ€Π΅ΠΆΠ΅ ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π½Π° масата, Π°ΠΊΠΎ ΠΈΠΌΠ° само ΠΌΡŠΡ€Ρ‚Π²ΠΈ Π»ΠΈΠ½ΠΈΠΈ. Но Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ° постоянно Π²ΡŠΡ€Ρ‚Π΅Π½Π΅, Π΅Π΄Π½Π° Π·Π΅Π»Π΅Π½Π° линия ΠΌΠΎΠΆΠ΅ Π΄Π° виси Π² края ΠΈ Π΄Π° Π½Π΅ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°, Π° всички останали някъдС Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ записани. Но Ρ‚ΠΎΠ²Π° Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ°Π»ΠΊΠΎ вСроятно ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅, Ρ‡Π΅ самата Π²ΠΈ маса Ρ‰Π΅ Π½Π°ΠΌΠ°Π»Π΅Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ трябва Π΄Π° сС надяватС Π½Π° Ρ‚ΠΎΠ²Π°.
  • Π‘Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ трябва Π΄Π° сортира цялата ΠΊΡƒΠΏΡ‡ΠΈΠ½Π° Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅. А Π½ΠΈΠ΅ Ρ…Π°Π±ΠΈΠΌ дискови рСсурси, Ρ…Π°Π±ΠΈΠΌ процСсорни рСсурси ΠΈ СлСктроСнСргия.
  • И Ρ‚ΠΎΠ²Π° пряко засяга Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ смС ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π»ΠΈ 10 милисСкунди Π·Π° заявка, 10 милисСкунди Π·Π° нашия ΠΊΠΎΠ΄, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° срива Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°ΠΌΠ΅ сСкунда Π·Π° заявка ΠΈ 10 милисСкунди Π·Π° ΠΊΠΎΠ΄, Ρ‚.Π΅. производитСлността Π½Π° прилоТСнията намаля. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ аварията бСшС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°ΠΌΠ΅ 20 милисСкунди Π½Π° заявка, 10 милисСкунди Π½Π° ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ всС ΠΎΡ‰Π΅ смС ΠΏΠΎΡ‚ΡŠΠ½Π°Π»ΠΈ Π΅Π΄ΠΈΠ½ ΠΏΡŠΡ‚ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° прСдставянСто. И всичко Ρ‚ΠΎΠ²Π° Π΅ Π·Π°Ρ€Π°Π΄ΠΈ Π΅Π΄Π½Π° транзакция, която висСшС ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΠΎ наша Π²ΠΈΠ½Π°.
  • И Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚: β€žΠšΠ°ΠΊ ΠΌΠΎΠ³Π° Π΄Π° Π²ΡŠΡ€Π½Π° всичко?β€œ Π’Π°ΠΊΠ° Ρ‡Π΅ всичко Π΄Π° Π΅ Π½Π°Ρ€Π΅Π΄ с нас ΠΈ заявкитС Π΄Π° Π²ΡŠΡ€Π²ΡΡ‚ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ аварията.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π—Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°.

ΠŸΡŠΡ€Π²ΠΎ трябва Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ маси, ΠΊΠΎΠΈΡ‚ΠΎ са сС Ρ€Π°Π·Π΄ΡƒΠ»ΠΈ. Π Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ някои Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ записват ΠΏΠΎ-Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ. И Π·Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ pgstattuple. ΠšΠ°Ρ‚ΠΎ инсталиратС Ρ‚ΠΎΠ²Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ заявки, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Ρ€Π°Π·Π΄ΡƒΡ‚ΠΈ.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Ρ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ компрСсирани. Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ° инструмСнти Π·Π° Ρ‚ΠΎΠ²Π°. Π’ Π½Π°ΡˆΠ°Ρ‚Π° компания ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Ρ€ΠΈ инструмСнта. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π΅ вградСният VACUUM FULL. Π’ΠΎΠΉ Π΅ ТСсток, суров ΠΈ бСзмилостСн, Π½ΠΎ понякога Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½. pg_repack ΠΈ pgcompacttable са ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни Π·Π° компрСсиранС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. И Ρ‚Π΅ са ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ сС Π² зависимост ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Но Π·Π° Ρ‚ΠΎΠ²Π° Ρ‰Π΅ говоря Π² самия ΠΊΡ€Π°ΠΉ. ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ ΠΈΠΌΠ° Ρ‚Ρ€ΠΈ инструмСнта. Има ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΠΈΠ·Π±ΠΎΡ€.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°ΠΌΠ΅ всичко, ΠΊΠ°Ρ‚ΠΎ сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ всичко Π΅ Π½Π°Ρ€Π΅Π΄, трябва Π΄Π° Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΠΌ Ρ‚Π°Π·ΠΈ ситуация Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅:

  • Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»Π½ΠΎ лСсно Π΅ Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ. Врябва Π΄Π° слСдитС ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° сСсиитС Π½Π° главния ΡΡŠΡ€Π²ΡŠΡ€. ОсобСно опасни сСсии Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° нСактивност Π² транзакция. Π’ΠΎΠ²Π° са Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ са ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ»ΠΈ транзакция, Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ са Π½Π΅Ρ‰ΠΎ ΠΈ са си Ρ‚Ρ€ΡŠΠ³Π½Π°Π»ΠΈ, ΠΈΠ»ΠΈ просто са увиснали, ΠΈΠ·Π³ΡƒΠ±ΠΈΠ»ΠΈ са сС Π² ΠΊΠΎΠ΄Π°.
  • А Π·Π° вас, ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° тСстватС ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ‚ Ρ‚Π΅Π·ΠΈ ситуации. НС Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ. Π’ΠΎΠ²Π° Ρ‰Π΅ бъдС ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. Π©Π΅ ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ "дСтски" ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с дълги Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

На Ρ‚Π΅Π·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ исках Π΄Π° Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ…Π°, слСд ΠΊΠ°Ρ‚ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΏΡ€Π΅Π΄Π°Π΄ΠΎΡ… VACUUM FULL Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Π’ΠΎΠ²Π° Π½Π΅ Π΅ моя продукция.

Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π²Π΅Π΄Π½Π°Π³Π° сС Π²ΡŠΡ€Π½Π° към Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ си Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΎΡ‚ няколко ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°. Π’ΠΎΠ²Π° Π½Π΅ повлия Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π° срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° рСакция Π² ΡΡŠΡ€Π²ΡŠΡ€Π°.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π’ΡƒΠΊ ΡΠ²ΡŠΡ€ΡˆΠ²Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° история. Вя Π΅ Π½Π°ΠΉ-чСсто срСщаната. И Ρ‚ΠΎΠ²Π° сС случва Π½Π° всСки, нСзависимо ΠΎΡ‚ ΠΎΠΏΠΈΡ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ програмисти ΠΈΠΌΠ°. Π Π°Π½ΠΎ ΠΈΠ»ΠΈ късно сС случва.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° история, Π² която разпрСдСлямС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ‚Π΅ рСсурси

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

  • ΠŸΠΎΡ€Π°ΡΠ½Π°Ρ…ΠΌΠ΅ ΠΈ станахмС сСриозни ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°. И Π½ΠΈΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ±Ρ€Π΅ Π·Π° нас Π΄Π° балансирамС Ρ‚ΠΎΠ²Π°Ρ€Π°: ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° УчитСля ΠΈ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΎΡ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°. И ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Ρ‚Π°Π·ΠΈ ситуация възниква, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искамС Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌ някакви ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ ΠΈΠ»ΠΈ ETL. И Π±ΠΈΠ·Π½Π΅ΡΡŠΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. Π’ΠΎΠΉ наистина иска Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ с ΠΊΡƒΠΏ слоТни Π°Π½Π°Π»ΠΈΠ·ΠΈ.
  • ΠžΡ‚Ρ‡Π΅Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ часовС, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ слоТнитС Π°Π½Π°Π»ΠΈΠ·ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ изчислСни Π·Π° милисСкунди. НиС, ΠΊΠ°Ρ‚ΠΎ смСли ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°, пишСм ΠΊΠΎΠ΄. НиС ΠΏΡ€Π°Π²ΠΈΠΌ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° вмъкванС, ΠΊΠΎΠ΅Ρ‚ΠΎ записвамС Π½Π° Master, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°.
  • НиС разпрСдСлямС Ρ‚ΠΎΠ²Π°Ρ€Π°.
  • Всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ. страхотни смС

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°Π·ΠΈ ситуация? По-ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π½Π° Ρ‚Π΅Π·ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ… ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° транзакцията. Всички Π΄Ρ€ΡƒΠ³ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ сС отнасят само Π·Π° главния ΡΡŠΡ€Π²ΡŠΡ€.

По Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ моята ΠΎΡ‚Ρ‡Π΅Ρ‚Π½Π° дъска бСшС нараснала. Има ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ тях. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π΅ стабилно. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΡŠΠ»Π³ΠΎΡ‚Ρ€Π°ΠΉΠ½Π° транзакция Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, която Ρ€Π°Π±ΠΎΡ‚ΠΈ 2 часа. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ Ρ‚ΠΈΡ…Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΌΡŠΡ€Ρ‚Π²ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ. И всички смС Π΄ΠΎΠ±Ρ€Π΅.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

По-ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, спорСд тСстовия Ρ‚Π°Π±Π»Π΅Ρ‚, Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ салдата ΠΏΠΎ смСткитС Ρ‚Π°ΠΌ. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ стабилно Π²Ρ€Π΅ΠΌΠ΅ Π·Π° рСакция ΠΏΡ€ΠΈ заявка, стабилно ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° рСсурси. ΠŸΡ€ΠΈ нас всичко Π΅ Π½Π°Ρ€Π΅Π΄.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Всичко Π΅ Π½Π°Ρ€Π΅Π΄ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° Π½ΠΈ ΠΎΡ‚Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с рСпликация. И Ρ‚Π΅ ΠΎΡ‚Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ.

Π’Π»ΠΈΠ·Π°ΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅ΠΌ Π·Π°Ρ‰ΠΎ Ρ‚ΠΎΠ²Π° сС случва. И Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ΠŸΡŠΡ€Π²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ латСнтността Π½Π° рСпликацията. Π—Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΡŠΡ‚ Π½ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° 3 часа. Π—Π°Π΄Π°ΠΉΡ‚Π΅ забавянСто Π½Π° рСпликацията Π½Π° 3 часа. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ всичко, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡ‚Π΅ понякога сС ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΡ‚.

ИскамС всичко Π΄Π° Π΅ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ. Π”Π° ΠΎΡ‚ΠΈΠ΄Π΅ΠΌ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. И Π½ΠΈΠ΅ Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ Π³ΠΎΡ‚ΠΈΠ½Π° настройка Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ - hot_standby_feedback. Π’ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π³ΠΎ. Hot_standby_feedback Π½ΠΈ позволява Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π½Π° Master. Π’Π°ΠΊΠ° напълно сС ΠΎΡ‚ΡŠΡ€Π²Π°Π²Π°ΠΌΠ΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ рСпликация. И всички Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Ρ€Π΅ с ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈΡ‚Π΅.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И ΠΊΠ°ΠΊΠ²ΠΎ сС случва с главния ΡΡŠΡ€Π²ΡŠΡ€ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°? А с главния ΡΡŠΡ€Π²ΡŠΡ€ ΠΈΠΌΠ°ΠΌΠ΅ пълна катастрофа. Π‘Π΅Π³Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΈ Π΄Π²Π΅Ρ‚Π΅ настройки. И Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ сСсията Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° влияС Π½Π° ситуацията Π½Π° главния ΡΡŠΡ€Π²ΡŠΡ€. Π’ΠΎΠ²Π° наистина ΠΎΠΊΠ°Π·Π²Π° влияниС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ спряло Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°, ΠΊΠΎΠΉΡ‚ΠΎ почиства ΠΌΡŠΡ€Ρ‚Π²ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° маса ΠΎΡ‚Π½ΠΎΠ²ΠΎ скочи Π΄ΠΎ Π½Π΅Π±Π΅Ρ‚ΠΎ. Π‘Ρ€Π΅Π΄Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π½Π° заявката Π² цялата Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΡŠΡ‰ΠΎ скочи рязко. АвтовакуумитС сС стСгнаха ΠΌΠ°Π»ΠΊΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

По-ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Ρ‚Π°Π±Π΅Π»Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ актуализацията Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ нСя ΡΡŠΡ‰ΠΎ скочи Π² Π½Π΅Π±Π΅Ρ‚ΠΎ. ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° процСсорни рСсурси ΡΡŠΡ‰ΠΎ сС Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ. НиС ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈΡ‚Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π²ΡŠΡ€Ρ…Ρƒ голям Π±Ρ€ΠΎΠΉ ΠΌΡŠΡ€Ρ‚Π²ΠΈ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅. И Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ‚Π°Π±Π»Π΅Ρ‚, броят Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π΅ намалял.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Как Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Π°ΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΈ?

  • Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Ако смС срСщнали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΏΡŠΡ€Π²Π°Ρ‚Π° част, Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° дълга транзакция ΠΈ сС ΠΊΠ°Ρ‡Π²Π°ΠΌΠ΅ Π½Π° Master. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Π² ΠœΠ°ΠΉΡΡ‚ΠΎΡ€Π°. ΠšΡ€Π΅Π½Π²ΠΈΡ€ΡˆΠΈ Π³ΠΎ. Π’ΠΎΠΉ загрява, ΠΈΠΌΠ° срСдно Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΏΠΎΠ΄ сто.
  • ЗаявкитС сС забавят Ρ‚Π°ΠΌ, Π½ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΌ. И Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ става. НС Π·Π½Π°Π΅ΠΌ къдС Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΠΌ.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. МоТС Π±ΠΈ Ρ€Π΅ΠΉΠ΄ΡŠΡ‚ Π½ΠΈ сС Π΅ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ». МоТС Π±ΠΈ смС ΠΈΠ·Π³ΠΎΡ€ΠΈΠ»ΠΈ Π»Π΅Π½Ρ‚Π°Ρ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚. Π”Π°, всичко ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС. Но Π½Π΅, ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ са Π½ΠΎΠ²ΠΈ, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅.
  • Всички работят: администратори, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€. Нищо Π½Π΅ ΠΏΠΎΠΌΠ°Π³Π°.
  • И Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всичко извСднъТ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

На Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎ Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ заявката сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΈ Π·Π°ΠΌΠΈΠ½Π°. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄. Π‘ΠΈΠ·Π½Π΅ΡΡŠΡ‚ всС ΠΎΡ‰Π΅ Π΅ щастлив. ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½Π°ΡˆΠ°Ρ‚Π° маса ΠΎΡ‚Π½ΠΎΠ²ΠΎ нарасна ΠΈ няма Π΄Π° намалява. На Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° със сСсии оставих част ΠΎΡ‚ Ρ‚Π°Π·ΠΈ дълга транзакция ΠΎΡ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΎΡ‚Π½Π΅ΠΌΠ°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ситуацията сС стабилизира.

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π’ΡŠΠ² всСки случай ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ спад Π² производитСлността, ΠΊΠ°ΠΊΡ‚ΠΎ Π² ΠΏΡŠΡ€Π²ΠΈΡ случай, Π΅Π΄ΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄ΠΎ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ, Π° понякога Π΄ΠΎΡ€ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅.

ИзглСТда смС Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ всичко ΠΊΠ°ΠΊΡ‚ΠΎ трябва. Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π°. ΠžΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π΅ Π΅ бСздСйстващо. Π‘ΠΏΠΎΡ€Π΅Π΄ ΡƒΠΌΠ° Ρ‚Π΅ Π½Π°Ρ€ΡƒΡˆΠΈΡ…Π° заявкитС, Π½ΠΎ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° всичко сС ΠΎΠΊΠ°Π·Π° Π·Π»Π΅.

  • НС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΉΡ‚Π΅ hot_standby_feedback? Π”Π°, Π½Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅ Π±Π΅Π· особСно сСриозни ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. Π—Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ засяга Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ главния ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ спира Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Ρ‚Π°ΠΌ. ΠšΠ°Ρ‚ΠΎ Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π½Π° някоя Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π·Π°Π±Ρ€Π°Π²ΠΈΡ‚Π΅ Π·Π° Π½Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡƒΠ±ΠΈΠ΅Ρ‚Π΅ УчитСля ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π£Π²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° max_standby_streaming_delay? Π”Π°, Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡ‚Π΅ Π΅ Ρ‚Π°ΠΊΠ°. Ако ΠΈΠΌΠ°Ρ‚Π΅ тричасов ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈ Π½Π΅ искатС Ρ‚ΠΎΠΉ Π΄Π° сС сринС ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΡ€ΠΈ рСпликация, Ρ‚ΠΎΠ³Π°Π²Π° просто ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Ρ‚Π΅ забавянСто. Π”ΡŠΠ»Π³ΠΈΡΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ изисква Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π²Π»Π΅Π·Π»ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ сСга. Ако Π³ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π·Π° Ρ‚Ρ€ΠΈ часа, Π·Π½Π°Ρ‡ΠΈ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π·Π° някакъв стар ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. И Π²ΠΈΠ΅, Ρ‡Π΅ Ρ‚Ρ€ΠΈ часа закъснСниС, Ρ‡Π΅ ΡˆΠ΅ΡΡ‚ часа закъснСниС - няма Π΄Π° ΠΈΠ³Ρ€Π°Π΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° роля, Π½ΠΎ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ постоянно ΠΈ Π΄Π° Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с ΠΏΠ°Π΄Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ.
  • ЕстСствСно, трябва Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ сСсии Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, особСно Π°ΠΊΠΎ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ hot_standby_feedback Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ всичко. Π”Π°Π΄ΠΎΡ…ΠΌΠ΅ Ρ‚Π°Π·ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π·Π° Π΄Π° тСства заявкитС. Написа Π±Π΅Π·ΡƒΠΌΠ½Π° ΠΌΠΎΠ»Π±Π°. Π’ΠΎΠΉ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈ ΠΎΡ‚ΠΈΠ΄Π΅ Π΄Π° ΠΏΠΈΠ΅ Ρ‡Π°ΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ установСния Π£Ρ‡ΠΈΡ‚Π΅Π». Или смС стартирали Π³Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΌ. Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠΈΡ‚Π΅ са Π½Π°ΠΉ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ. БСсиитС Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ трябва Π΄Π° сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Π½Π° Master.
  • И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π±ΡŠΡ€Π·ΠΈ ΠΈ дълги заявки Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π² Ρ‚ΠΎΠ·ΠΈ случай Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Π³ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅, Π·Π° Π΄Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. Π’ΠΎΠ²Π° Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ° към streaming_delay. Π—Π° Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π΅Π΄Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° с ΠΌΠ°Π»ΠΊΠΎ забавянС Π½Π° рСпликацията. Π—Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΈ заявки Π·Π° ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ ΠΈΠΌΠ°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, която ΠΌΠΎΠΆΠ΅ Π΄Π° изостава с 6 часа, с Π΄Π΅Π½. Π’ΠΎΠ²Π° Π΅ напълно Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° ситуация.

ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ послСдствията ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½:

  • НамирамС Ρ€Π°Π·Π΄ΡƒΡ‚ΠΈ маси.
  • И компрСсирамС с Π½Π°ΠΉ-удобния инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠΆΠ΄Π°.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° история ΡΠ²ΡŠΡ€ΡˆΠ²Π° Ρ‚ΡƒΠΊ. Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° история.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° чСсто срСщано Π·Π° нас, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ миграцията.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

  • ВсСки софтуСрСн ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ растС. Π˜Π·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡ‚Π° сС промСнят. Π’ΡŠΠ² всСки случай искамС Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅. И сС случва, Ρ‡Π΅ трябва Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π° стартирамС актуализацията ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° миграция към Π½ΠΎΠ²Π°Ρ‚Π° функционалност, която внСдрявамС ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.
  • Бтарият Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π΅ Π΅ подходящ. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ сСга сС ΠΎΠ±Ρ€ΡŠΡ‰Π°ΠΌΠ΅ към Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ‚Π΅Π·ΠΈ смСтки. И Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ бяха Π² Ρ€ΡƒΠ±Π»ΠΈ ΠΈ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ точността ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π² ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ. И Π·Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ актуализация: ΡƒΠΌΠ½ΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ със сумата Π½Π° опСрацията ΠΏΠΎ сто.
  • Π’ днСшния свят Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ инструмСнти Π·Π° създаванС Π½Π° вСрсии Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌ Liquibase. НиС рСгистрирамС Π½Π°ΡˆΠ°Ρ‚Π° миграция Ρ‚Π°ΠΌ. ВСствамС Π³ΠΎ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° тСстова Π±Π°Π·Π°. Всичко Π΅ Π½Π°Ρ€Π΅Π΄. Актуализацията сС изпълнява. Π‘Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ работят извСстно Π²Ρ€Π΅ΠΌΠ΅, Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° стартирамС Π½ΠΎΠ²Π° функционалност Π·Π° Ρ‚ΠΎΠ²Π°. Всичко тСствано ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ. Всички ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Π½ΠΈ.
  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° миграция.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π•Ρ‚ΠΎ миграцията с актуализацията, прСдставСна ΠΏΡ€Π΅Π΄ вас. Въй ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ смСтки, Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° бСшС 15 GB. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ всСки Ρ€Π΅Π΄, Π½ΠΈΠ΅ ΡƒΠ΄Π²ΠΎΠΈΡ…ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ смС прСзаписали всСки Ρ€Π΅Π΄.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡΡ‚Π° бСшС ΡƒΡΠΏΠ΅ΡˆΠ½Π°, Π½ΠΎ:

  • Π‘Ρ‚Π°Ρ€Π°Ρ‚Π° функционалност Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-дълго.
  • ΠœΠ°ΡΠ°Ρ‚Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΅ пораснала.
  • НатоварванСто Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ стана ΠΏΠΎΠ²Π΅Ρ‡Π΅, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ бСшС.
  • И, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, всС ΠΎΡ‰Π΅ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ с функционалността, която Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ…ΠΌΠ΅ я ΠΌΠ°Π»ΠΊΠΎ.

И Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΅ ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ разваля ΠΆΠΈΠ²ΠΎΡ‚Π° Π½ΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Π’ΡƒΠΊ дСмонстрирам, Ρ‡Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ Π΄Π²Π° случая, няма Π΄Π° сС Π²ΡŠΡ€Π½Π΅ към ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ. Π‘Ρ€Π΅Π΄Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

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

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

И Ρ‚ΡƒΠΊ основното Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. И Ρ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ. ΠŸΡ€Π°Π²ΠΈΠΌ Ρ‚Π΅Π·ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ доста Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ.

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

И Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ няма Π΄Π° сС ΠΏΠΎΠ΄ΡƒΠ΅ΠΌ ΠΈ няма Π΄Π° отслабнСм Π² прСдставянСто.

Π’ΠΎΠ²Π° Π΅ краят Π½Π° Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° история.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat.sql

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat_approx.sql

А сСга ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° инструмСнтитС, ΠΊΠΎΠΈΡ‚ΠΎ спомСнах Π² ΠΏΡŠΡ€Π²Π°Ρ‚Π° история.

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΡ‚Π΅ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅, трябва Π΄Π° инсталиратС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ pgstattuple.

Π—Π° Π΄Π° Π½Π΅ измислятС заявки, Π½ΠΈΠ΅ Π²Π΅Ρ‡Π΅ смС написали Ρ‚Π΅Π·ΠΈ заявки Π² Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π’ΡƒΠΊ ΠΈΠΌΠ° Π΄Π²Π΅ искания.

  • ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΎΡ‚Π½Π΅ΠΌΠ° доста Π²Ρ€Π΅ΠΌΠ΅, Π½ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅ стойности Π½Π° ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅ спорСд Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°.
  • Вторият Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° Π½Π°Π΄ΡƒΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ Π½Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. ОсвСн Ρ‚ΠΎΠ²Π° трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ° Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° Postgres. Π’ΠΎΠ²Π° Π΅ характСристика Π½Π° нСговия ΠΌΠΎΠ΄Π΅Π» MVCC.
  • И 20% Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅ Π·Π° маситС Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи. ВоСст Π½Π΅ трябва Π΄Π° сС притСсняватС ΠΈ Π΄Π° компрСсиратС Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°.

Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°ΠΌΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са набъбнали с нас, освСн Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ са набъбнали с Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

Π‘Π΅Π³Π° Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ:

  • Ако ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠ° ΠΏΠ»ΠΎΡ‡Π° ΠΈ Π΄ΠΎΠ±Ρ€ΠΈ дисковС, Ρ‚.Π΅. Π½Π° ΠΏΠ»ΠΎΡ‡Π° Π΄ΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚, Π΅ напълно възмоТно Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ VACUUM FULL. Π’ΠΎΠΉ Ρ‰Π΅ Π²Π·Π΅ΠΌΠ΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½Π° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠ° ΠΎΡ‚ вас Π·Π° няколко сСкунди ΠΈ Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ всичко Π±ΡŠΡ€Π·ΠΎ ΠΈ Π³Ρ€ΡƒΠ±ΠΎ. Какво ΠΏΡ€Π°Π²ΠΈ VACUUM FULL? Π’Π·Π΅ΠΌΠ° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° масата ΠΈ прСнаписва ΠΆΠΈΠ²ΠΈΡ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ старитС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² Π½ΠΎΠ²Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. И накрая Π³ΠΈ замСня. Π˜Π·Ρ‚Ρ€ΠΈΠ²Π° стари Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, замСня стари с Π½ΠΎΠ²ΠΈ. Но ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си, Ρ‚ΠΎΠΉ изисква ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° масата. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΈΡ‰ΠΎ с Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°: Π½ΠΈΡ‚ΠΎ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² нСя, Π½ΠΈΡ‚ΠΎ Π΄Π° я Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅, Π½ΠΈΡ‚ΠΎ Π΄Π° я промСнятС. И VACUUM FULL изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ дисково пространство Π·Π° запис Π½Π° Π΄Π°Π½Π½ΠΈ.
  • Π‘Π»Π΅Π΄Π²Π°Ρ‰ инструмСнт pg_repack. По своя ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΠΉ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° VACUUM FULL, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΡΡŠΡ‰ΠΎ прСзаписва Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ стари Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Π½ΠΎΠ²ΠΈ ΠΈ Π³ΠΈ замСства Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Ρ‚ΠΎΠΉ Π½Π΅ Π²Π·Π΅ΠΌΠ° Сксклузивно Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° масата Π² самото Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си, Π° Π³ΠΎ Π²Π·Π΅ΠΌΠ° само Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ° Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅. Има ΡΡŠΡ‰ΠΈΡ‚Π΅ изисквания Π·Π° дискови рСсурси ΠΊΠ°Ρ‚ΠΎ VACUUM FULL. Π˜ΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ дисково пространство ΠΈ Ρ‚ΠΎΠ²Π° понякога Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. И Ρ‚ΠΎΠΉ Π΅ доста нСнаситСн към процСсора, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с I / O.
  • Π’Ρ€Π΅Ρ‚Π°Ρ‚Π° полСзност Π΅ pgcompacttable. Π’ΠΎΠΉ Π΅ ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π΅Π½ към рСсурситС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π° pgcompacttable Π΅, Ρ‡Π΅ прСмСства всички ΠΆΠΈΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. И Ρ‚ΠΎΠ³Π°Π²Π° Π·Π°ΠΏΠΎΡ‡Π²Π° Π²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π½Π° Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΆΠΈΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ ΠΈ ΠΌΡŠΡ€Ρ‚Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² края. И самият Π²Π°ΠΊΡƒΡƒΠΌ отрязва Ρ‚Π°Π·ΠΈ опашка, тоСст Π½Π΅ изисква ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ дисково пространство. И Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ всС ΠΎΡ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС притиснат ΠΎΡ‚ рСсурси.

Всичко с инструмСнти.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅ Π½Π° postgresql. АндрСй Π‘Π°Π»Π½ΠΈΠΊΠΎΠ²

Ако Π½Π°ΠΌΠΈΡ€Π°Ρ‚Π΅ Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π·Π° интСрСсна ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎ ΠΊΠΎΠΏΠ°Π΅Π½Π΅ Π½Π°Π²ΡŠΡ‚Ρ€Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π΅Ρ‚ΠΎ някои ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π·Π° вас:

  • https://www.slideshare.net/alexius2Mb/where-is-the-space-postgres Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΡŠΡ‚ Π½Π° ΠΊΠΎΠ»Π΅Π³Π°Ρ‚Π°. ΠžΠ±Ρ‰ΠΎ Π΅ къдС ΠΎΡ‚ΠΈΠ²Π° мястото Π½Π° Postgres Π² Ρ…ΠΎΠ΄Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π° ΠΌΡƒ. И ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ голяма ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° тСхничСска част Π·Π° администраторитС Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ относно Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ.
  • https://github.com/dataegret/pg-utils Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ° към Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΡƒΠΏ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ скриптовС Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ скриптовС Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Π½Π°Π΄ΡƒΠ²Π°Π½Π΅.
  • ВрСтият ΠΈ Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ към инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° компрСсиратС ΠΏΠ»ΠΎΡ‡ΠΈΡ‚Π΅.
  • http://blog.dataegret.com/2Mb018/03/postgresql-bloatbusters.html Π’ΠΎΠ²Π° Π΅ пост ΠΎΡ‚ ΠΌΠΎΠΉ ΠΊΠΎΠ»Π΅Π³Π°. Π’Π°ΠΌ Ρ‚ΠΎΠΉ доста сСриозно ΠΈ тСхничСски Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π° Π½ΠΈΠ²ΠΎ, Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΠΎ администраторитС.

Π’ΡƒΠΊ сС ΠΎΠΏΠΈΡ‚Π°Ρ… Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ° Π΅Π΄Π½Π° уТасна история Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚Π΅ са наши Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ Π΄ΠΎ ΠΊΠ°ΠΊΠ²ΠΈ дСйствия водят. Надявам сС Π΄Π° съм успял. Благодаря Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ!

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

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

Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ‚ΠΎΠ²Π° Π΅ Π·Π°Π΄Π°Ρ‡Π° Π·Π° администраторитС Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° компания, Π° Π½Π΅ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° DBA.

Аз съм администратор.

PostgreSQL ΠΈΠΌΠ° ΠΈΠ·Π³Π»Π΅Π΄, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ pg_stat_activity, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈ заявки. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ дълго виси Ρ‚Π°ΠΌ.

Врябва Π΄Π° Π²Π»ΠΈΠ·Π°ΠΌ Π½Π° всСки 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΈ Π΄Π° Π³Π»Π΅Π΄Π°ΠΌ?

НастройтС cron ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅. Ако ΠΈΠΌΠ°Ρ‚Π΅ дълга заявка, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ писмо ΠΈ Ρ‚ΠΎΠ²Π° Π΅. ВоСст Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ с ΠΎΡ‡ΠΈΡ‚Π΅ си, Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° станС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ. Π©Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ писмо, Ρ‰Π΅ ΠΌΡƒ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅. Или ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сниматС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

Има Π»ΠΈ ясни ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Ρ‚ΠΎΠ²Π° Π΄Π° сС случва?

Π˜Π·Π±Ρ€ΠΎΠΈΡ… някои. Π”Ρ€ΡƒΠ³ΠΈ ΠΏΠΎ-слоТни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ. И ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° дълъг Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π˜ΡΠΊΠ°Ρ… Π΄Π° изясня относно ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° pg_repack. Ако Π½Π΅ изисква ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅, Ρ‚ΠΎΠ³Π°Π²Π°...

Вя ΠΏΡ€Π°Π²ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½Π° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠ°.

... Ρ‚ΠΎΠ³Π°Π²Π° Π±ΠΈΡ… могъл ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Π΄Π° загубя Π΄Π°Π½Π½ΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠΈ Π½Π΅ трябва Π»ΠΈ Π΄Π° записва Π½ΠΈΡ‰ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚?

НС, Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΈΡ…ΠΎ с Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Ρ‚.Π΅. pg_repack ΠΏΡŠΡ€Π²ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ всички ΠΆΠΈΠ²ΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Ρ‚Π°ΠΌ. ЕстСствСно, ΠΈΠΌΠ° някакъв Ρ€Π΅ΠΊΠΎΡ€Π΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Π’ΠΎΠΉ просто Ρ…Π²ΡŠΡ€Π»Ρ Ρ‚Π°Π·ΠΈ конска опашка.

ВоСст накрая всС ΠΏΠ°ΠΊ Π»ΠΈ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ?

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΏΡ€ΠΈ размяната Π½Π° Ρ‚Π΅Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π©Π΅ бъдС Π»ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ VACUUM FULL?

VACUUM FULL, ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°, Π²Π΅Π΄Π½Π°Π³Π° Π²Π·Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½Π° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠ°. И Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ всичко, няма Π΄Π° я пуснС. И pg_repack Π²Π·Π΅ΠΌΠ° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ само ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° подмяна Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π’ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΌ, Π½ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ няма Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π³ΡƒΠ±Π΅Π½ΠΈ, всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄.

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Π“ΠΎΠ²ΠΎΡ€ΠΈΡ…Ρ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°. ИмашС Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с Ρ‡Π΅Ρ€Π²Π΅Π½ΠΈ, ΠΆΡŠΠ»Ρ‚ΠΈ ΠΈ Π·Π΅Π»Π΅Π½ΠΈ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π½Π° записа. ВоСст ΠΆΡŠΠ»Ρ‚ΠΈ - ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° Π³ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ. И Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ Π½ΠΎΠ²ΠΎ Π² тях?

Π΄Π° Postgres Π½Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° Ρ€Π΅Π΄ΠΎΠ²Π΅. Π’ΠΎΠΉ ΠΈΠΌΠ° Ρ‚Π°ΠΊΠ°Π²Π° спСцифика. Ако Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Ρ€Π΅Π΄Π°, ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Ρ…ΠΌΠ΅ стария ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡΡ‚ Π½ΠΎΠΌΠ΅Ρ€ Π½Π° транзакцията, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅Π΄, сС появява Ρ‚Π°ΠΌ ΠΈ Π½ΠΈΠ΅ пишСм Π½ΠΎΠ² Ρ€Π΅Π΄. И ΠΈΠΌΠ°ΠΌΠ΅ сСсии, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚. Π’ Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚Π΅ доста старСят. И ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Ρ‚Π΅Π·ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Π³ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ. И Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅.

Π Π°Π·Π±ΠΈΡ€Π°ΠΌ. Но Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π½Π΅ Π΅ Π² Ρ‚ΠΎΠ²Π°. НС сС ΡΡŠΠ³Π»Π°ΡΠΈΡ…. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ маса. Има ΠΏΠΎΠ»Π΅Ρ‚Π° с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€. И Π°ΠΊΠΎ сС ΠΎΠΏΠΈΡ‚Π°ΠΌ Π΄Π° вмъкна Π½Π΅Ρ‰ΠΎ Π½ΠΎΠ²ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ просто Π΄Π° Π½Π΅ сС ΠΏΠΎΠ±Π΅Ρ€Π΅ Π² старата ΠΊΠ»Π΅Ρ‚ΠΊΠ°.

НС, във всСки случай цялата линия сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°. Postgres ΠΈΠΌΠ° Π΄Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Π’ΠΎΠΉ ΠΈΠ·Π±ΠΈΡ€Π° ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½ΠΈ. Има Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π° ΠΈΠΌΠ° ΠΈ tos Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° са Π³ΠΎΠ»Π΅ΠΌΠΈ количСства Π΄Π°Π½Π½ΠΈ: тСкст, json. Π’Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈ. И спорСд Ρ‚Π΅Π·ΠΈ Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈ сС случва ΡΡŠΡ‰Π°Ρ‚Π° история с ΠΏΠΎΠ΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ, тоСст всичко Π΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ. Π’Π΅ просто са посочСни ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π”ΠΎΠΊΠΎΠ»ΠΊΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ заявки Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π· Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π°?

Много ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ. ИзползвамС Π³ΠΎ навсякъдС. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ нямамС собствСни услуги, прСдоставямС дистанционна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, ΠΈΠΌΠ° доста Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. И всички са доста Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. ВоСст ΠΈΠΌΠ°ΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² cron, ΠΊΠΎΠΈΡ‚ΠΎ провСряват. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° сСсиитС сС договаря с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΏΡ€Π΅Π΄ ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ сС Π·Π°ΠΊΠΎΠ²Π°Π²Π°ΠΌΠ΅. МоТС Π΄Π° Π΅ ΠΌΠΈΠ½ΡƒΡ‚Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Зависи ΠΎΡ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° основата ΠΈ Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но Π½ΠΈΠ΅ всички ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ pg_stat_activity.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠžΠΏΠΈΡ‚Π²Π°ΠΌ сС Π΄Π° ΠΈΠ·ΠΏΡ€ΠΎΠ±Π²Π°ΠΌ вашия ΠΎΡ‚Ρ‡Π΅Ρ‚ Π·Π° ΠΌΠΎΠΈΡ‚Π΅ прилоТСния. И ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ транзакция навсякъдС ΠΈ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ я Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ навсякъдС. Ако ΠΈΠΌΠ° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ³Π°Π²Π° сС случва Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄. И Ρ‚ΠΎΠ³Π°Π²Π° сС замислих. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка транзакцията ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π½Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΌΠ΅ΠΊ към ΠΌΠΎΠΌΠΈΡ‡Π΅Ρ‚ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌ. Ако просто направя актуализация Π½Π° запис, транзакцията Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π»ΠΈ Π² PostgreSQL ΠΈ Ρ‰Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈ Π»ΠΈ само ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° бъдС ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π°?

Ако сСга Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ зависи ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, ΠΎΡ‚ ORM, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Π’Π°ΠΌ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ настройки. Ако ΠΈΠΌΠ°Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎΠ³Π°Π²Π° транзакцията Π·Π°ΠΏΠΎΡ‡Π²Π° Ρ‚Π°ΠΌ ΠΈ сС затваря Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ.

ВоСст затваря Π²Π΅Π΄Π½Π°Π³Π° слСд ΡŠΠΏΠ΄Π΅ΠΉΡ‚Π°?

Зависи ΠΎΡ‚ настройкитС. Назовах Π΅Π΄Π½Π° настройка. Π’ΠΎΠ²Π° Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅. Вя Π΅ доста чСсто срСщана. Ако Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½, транзакцията Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½Π°. ОсвСн Π°ΠΊΠΎ Π½Π΅ стС ΠΊΠ°Π·Π°Π»ΠΈ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ β€žΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡβ€œ ΠΈ β€žΠΊΡ€Π°ΠΉ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡβ€œ, Π° просто стС стартирали заявка Π² сСсията.

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ си, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, която набъбва ΠΈ набъбва ΠΈ Ρ‚ΠΎΠ³Π°Π²Π° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ остава Π±Π΅Π· място. Има Π»ΠΈ инструмСнти Π·Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ ситуация?

ΠœΡΡΡ‚ΠΎΡ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΏΠΎ Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ трябва Π΄Π° сС наблюдава.

НапримСр, DBA ΠΎΡ‚ΠΈΠ΄Π΅ Π΄Π° ΠΏΠΈΠ΅ Ρ‡Π°ΠΉ, бСшС Π½Π° ΠΊΡƒΡ€ΠΎΡ€Ρ‚ ΠΈ Ρ‚.Π½.

ΠšΠΎΠ³Π°Ρ‚ΠΎ сС създава Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, сС създава ΠΏΠΎΠ½Π΅ ΠΌΠ°Π»ΠΊΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ пространство, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π½Π΅ сС записват Π΄Π°Π½Π½ΠΈ.

Ами Π°ΠΊΠΎ Π΅ напълно Π½ΡƒΠ»Π°?

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

Няма Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти?

Π’ΠΈΠ½Π°Π³ΠΈ Π΅ Ρ€ΡŠΡ‡Π½Π° ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. И Π½Π° място сС Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚Π°ΠΌ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠΌΠ° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ, ΠΈΠΌΠ° ΠΈ Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ. И Π·Π° всяка Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с нСя, зависи ΠΎΡ‚ бизнСса. Π’ΠΈΠ½Π°Π³ΠΈ сС Ρ€Π΅ΡˆΠ°Π²Π° Π½Π° място.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Имам Π΄Π²Π° Π²ΡŠΠΏΡ€ΠΎΡΠ°. ΠŸΡŠΡ€Π²ΠΎ, Π²ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ…Ρ‚Π΅ слайдовС, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ бСшС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Π΅ Π² случай Π½Π° увиснали Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ количСството Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎ пространство, Ρ‚Π°ΠΊΠ° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° индСкса нарастват. И ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π° имашС ΠΊΡƒΠΏ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ Ρ‚Π°Π±Π»Π΅Ρ‚Π°. А ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° индСкса?

ΠžΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ Π³ΠΈ ΠΈ тях.

Но Π²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π½Π΅ влияС Π½Π° индСкса?

Някои работят с индСкс. НапримСр pg_rapack, pgcompacttable. Π’Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ ΠΏΡ€Π΅ΡΡŠΠ·Π΄Π°Π²Π° индСкситС, Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²Π° Π²ΡŠΡ€Ρ…Ρƒ тях. VACUUM FULL ΠΈΠΌΠ° ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π΄Π° прСзаписва всичко, Ρ‚.Π΅. Ρ€Π°Π±ΠΎΡ‚ΠΈ с всички.

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

Какво причинява ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π½Π° рСпликация? ИмамС Π£Ρ‡ΠΈΡ‚Π΅Π», Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π°Ρ‚ процСситС. ИмамС Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ. ΠΠ²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ? Π’ΠΎΠΉ изрязва някои стари Ρ€Π΅Π΄ΠΎΠ²Π΅. Ако Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ°ΠΌΠ΅ заявка Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, която Ρ‡Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ стари Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΈ Π½Π° Master Π΅ ΠΈΠΌΠ°Π»ΠΎ ситуация, Ρ‡Π΅ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π» Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΊΠ°Ρ‚ΠΎ възмоТни Π·Π° прСзаписванС, Ρ‚ΠΎΠ³Π°Π²Π° Π½ΠΈΠ΅ Π³ΠΈ прСзаписвамС. И ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ с Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅ΠΌ Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ заявката Π² Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° рСпликация Ρ‰Π΅ ΠΈΠ·Ρ‡Π°ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ стС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π»ΠΈ. И Ρ‚ΠΎΠ³Π°Π²Π° PostgreSQL Ρ‰Π΅ Ρ€Π΅ΡˆΠΈ ΠΊΠΎΠ΅ Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎ Π·Π° Π½Π΅Π³ΠΎ. И рСпликацията Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½Π° Π·Π° Π½Π΅Π³ΠΎ ΠΎΡ‚ заявката ΠΈ Ρ‚ΠΎΠΉ Ρ‰Π΅ изстрСля заявката, Π·Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°.

АндрСй, ΠΈΠΌΠ°ΠΌ Π²ΡŠΠΏΡ€ΠΎΡ. Π’Π΅Π·ΠΈ прСкрасни Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ…Ρ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° прСзСнтацията, Ρ‚ΠΎΠ²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π»ΠΈ Π΅ ΠΎΡ‚ някаква Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°? Как са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ класациитС?

Π’ΠΎΠ²Π° Π΅ услуга Okmeter.

Π’ΠΎΠ²Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π»ΠΈ Π΅?

Π΄Π° Π’ΠΎΠ²Π° Π΅ Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

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

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