ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅.

Π Π΅ΡˆΠΈΡ… Π΄Π° сподСля моята Π½Π°Ρ…ΠΎΠ΄ΠΊΠ° - ΠΏΠ»ΠΎΠ΄ Π½Π° размисли, ΠΎΠΏΠΈΡ‚ΠΈ ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ.
По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ: Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС - всичко Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π΅ ΠΎΡ‚Π΄Π°Π²Π½Π° извСстно Π½Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‚ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ½Π° статистичСска ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ оптимизация Π½Π° систСми, Π½Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π‘Π£Π‘Π”.
И: Π΄Π°, Ρ‚Π΅ знаят, ΠΏΠΈΡˆΠ°Ρ‚ интСрСсни статии ΠΏΠΎ своитС изслСдвания, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (UPD.: Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ посочиха ΠΌΠ½ΠΎΠ³ΠΎ интСрСсСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: ottertune )
ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна: Π½Π° ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎ спомСнаванС, разпространСниС Π½Π° Ρ‚Π°ΠΊΡŠΠ² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, срСд ИВ спСциалисти, DBA.

И Ρ‚Π°ΠΊΠ°, Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π°.

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π·Π°Π΄Π°Ρ‡Π°: Π΄Π° настроим Π΅Π΄Π½Π° сСрвисна систСма, Π·Π° обслуТванС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π—Π° Ρ‚Π°Π·ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° - извСстно Π΅: ΠΊΠ°ΠΊΠ²Π° Π΅ тя, Π² ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° качСството Π½Π° Ρ‚Π°Π·ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ какъв Π΅ критСрият Π·Π° ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π° качСство.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ясно: ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² (ΠΈΠ»ΠΈ с) Ρ‚Π°Π·ΠΈ сСрвисна систСма.

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

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

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

Π•, ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Ρ‚Π°ΠΊΠ° ΠΈ става.

Какво ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΡƒΠΊ.

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

Π’.Π΅. Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ Π½Π° систСмата някаква конфигурация, ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ стойности Π½Π° Π½Π΅ΠΉΠ½ΠΈΡ‚Π΅ настройващи ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.

Π”Π° ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ Π½Π° нСя тСстова натоварСност, с Ρ‚Π°Π·ΠΈ самата ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° натоварСност.
И Π΄Π° наблюдавамС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° - ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π°, ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° Π·Π° качСството Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° систСмата.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° мисъл ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‡Π΅ - Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ дълго.

Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π°ΠΊΠΎ настройкитС са ΠΌΠ½ΠΎΠ³ΠΎ, Π°ΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈΡ‚Π΅ Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ стойности са Π³ΠΎΠ»Π΅ΠΌΠΈ, ΠΈ Π°ΠΊΠΎ всСки ΠΎΡ‚Π΄Π΅Π»Π΅Π½ тСст Π·Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Ρ‚ΠΎΠ³Π°Π²Π°: Π΄Π°, всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π½Π΅ΠΌΠ΅ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅.

И Ρ‚ΡƒΠΊ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΈ ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈ.

МоТС Π΄Π° сС установи, Ρ‡Π΅ Π² Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ значСния Π½Π° настройкитС Π½Π° сСрвизната систСма - Π²Π΅ΠΊΡ‚ΠΎΡ€, ΠΊΠ°Ρ‚ΠΎ послСдоватСлност ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности.

На всСки Ρ‚Π°ΠΊΡŠΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€, ΠΏΡ€ΠΈ ΡΡŠΡ‰ΠΈΡ‚Π΅ условия (Π² ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π΅ сС засяга), отговаря напълно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° стойност Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° - показатСля Π·Π° качСството Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° систСмата ΠΏΠΎΠ΄ тСстово Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

Π’.Π΅.

НСка ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° конфигурацията Π½Π° систСмата ΠΊΠ°Ρ‚ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ; ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π΅ броят Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° конфигурацията Π½Π° систСмата, ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ‚ тях ΠΈΠΌΠ°.

И стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°, която ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° дадСния ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π½Π΅ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°Ρ‚ΠΎ
ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ функция: ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

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

Π”ΠΎΠ±Ρ€Π΅, Π½ΠΎ Ρ‚ΡƒΠΊ възниква ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-практичСският Π²ΡŠΠΏΡ€ΠΎΡ: ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.

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

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°ΠΌΠ΅ΠΊΠ²Π°, Ρ‡Π΅ трябва Π΄Π° сС ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ Π² посока Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ срСди, Π² ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π²Π΅Ρ‡Π΅ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² някаква Ρ„ΠΎΡ€ΠΌΠ°, Π³ΠΎΡ‚ΠΎΠ²Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΊΠΎΠ΄Π°.
Π”Π°, Π·Π½Π°ΠΌ Π·Π° python ΠΈ cran-r

Вторият ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡƒΠΊΠ°Π·Π²Π°, Ρ‡Π΅ трябва Π΄Π° сС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ самитС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ са, ΠΊΠ°ΠΊΠ²ΠΈ са Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ изисквания ΠΈ особСности Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°.

И ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π°Π²Π°Ρ‚, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ странични Π΅Ρ„Π΅ΠΊΡ‚ΠΈ-Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ самия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ.

Или ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ°.

Π’ΡƒΠΊ ΠΌΠ½ΠΎΠ³ΠΎ зависи ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ условия.

НапримСр, Π°ΠΊΠΎ ΠΏΠΎ някакви ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚, Ρ‚ΠΎ трябва Π΄Π° сС Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½ΠΎ спусканС, Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ някой ΠΎΡ‚ тях.

Или, Π°ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° стохастична оптимизация, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³Π΅Π½Π΅Ρ‚ΠΈΡ‡Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚Π°ΠΊΡŠΠ² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΠΎ ΠΏΠΎΠ΄Π±ΠΎΡ€Π° Π½Π° конфигурацията Π½Π° систСмата, с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Π΅Π½Π΅Ρ‚ΠΈΡ‡Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Π² слСдващата, Ρ‚Π°ΠΊΠ° Π΄Π° сС ΠΊΠ°ΠΆΠ΅: Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈ:

  1. НСка Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅, ΠΊΠ°Ρ‚ΠΎ сСрвисна систСма: oracle xe 18c
  2. НСка тя обслуТва Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° активност ΠΈ Ρ†Π΅Π»Ρ‚Π°: Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ възмоТно Π½Π°ΠΉ-голям ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚ Π½Π° Π‘Π£Π‘Π”, ΠΏΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ/сСк.
  3. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½ΠΈ ΠΈ контСкста Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.
    ΠŸΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° са Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ голямо количСство Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
    Π’ смисъл, Ρ‡Π΅ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ undo Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ redo ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.

Π’ΠΎΠ²Π° са Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ промСнят Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ Π² ΠΏΠΎ-голяма Ρ‚Π°Π±Π»ΠΈΡ†Π°, с ΠΌΠ°Π»ΠΊΠΎ индСкси Π½Π°Π΄ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: производитСлността Π½Π° Π‘Π£Π‘Π” ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Ρ‰Π΅ бъдС, с ΡƒΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡ‚ качСството Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° redo Π΄Π°Π½Π½ΠΈ.

Π£Π³ΠΎΠ²ΠΎΡ€ΠΊΠ°Ρ‚Π° Π΅ β€” Π°ΠΊΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π° настройкитС Π½Π° Π‘Π£Π‘Π”.

Π—Π°Ρ‰ΠΎΡ‚ΠΎ, Π² общия случай, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ SQL сСсиитС, ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° потрСбитСлската Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ/ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π».

ΠšΠΎΠΈΡ‚ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ‰Π΅ ΠΎΠΊΠ°Π·Π²Π°Ρ‚ натиск Π²ΡŠΡ€Ρ…Ρƒ tps ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° ΠΈ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС Π΅Π³Π·ΠΎΠ³Π΅Π½Π΅Π½, относно Π‘Π£Π‘Π”, Ρ„Π°ΠΊΡ‚ΠΎΡ€: Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π» ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² нСя, Ρ‡Π΅ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π—Π°Ρ‚ΠΎΠ²Π°, Π·Π° чистота Π½Π° СкспСримСнта, Ρ‰Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ уточня ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ.

  1. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π·Π° опрСдСлСност, Ρ‡Π΅ 100% ΠΎΡ‚ ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π² Π‘Π£Π‘Π” SQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ: са DML ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
    НСка характСристикитС Π½Π° потрСбитСлската Ρ€Π°Π±ΠΎΡ‚Π° с Π‘Π£Π‘Π”: Π΄Π° останат ΡΡŠΡ‰ΠΈΡ‚Π΅ Π² тСстовСтС.
    А ΠΈΠΌΠ΅Π½Π½ΠΎ: броят Π½Π° SQL сСсиитС, Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊ сС Ρ€Π°Π±ΠΎΡ‚ΠΈ с тях ΠΎΡ‚ SQL сСсиитС.
  2. Π‘Π£Π‘Π” Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² FORCE LOGGING, ARCHIVELOG Ρ€Π΅ΠΆΠΈΠΌΠΈ. Flashback Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½, Π½Π° Π½ΠΈΠ²ΠΎ Π‘Π£Π‘Π”.
  3. Redo Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅: Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ "диск";
    Цялата останала физичСска част Π½Π° Π‘Π”: Π² Π΄Ρ€ΡƒΠ³Π°, ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ "диск":

По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, относно устройството Π½Π° физичСската ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π°Ρ‚Π° Π‘Π”

SQL> select status||' '||name from v$controlfile;
 /db/u14/oradata/XE/control01.ctl
SQL> select GROUP#||' '||MEMBER from v$logfile;
1 /db/u02/oradata/XE/redo01_01.log
2 /db/u02/oradata/XE/redo02_01.log
SQL> select FILE_ID||' '||TABLESPACE_NAME||' '||round(BYTES/1024/1024,2)||' '||FILE_NAME as col from dba_data_files;
4 UNDOTBS1 2208 /db/u14/oradata/XE/undotbs1_01.dbf
2 SLOB 128 /db/u14/oradata/XE/slob01.dbf
7 USERS 5 /db/u14/oradata/XE/users01.dbf
1 SYSTEM 860 /db/u14/oradata/XE/system01.dbf
3 SYSAUX 550 /db/u14/oradata/XE/sysaux01.dbf
5 MONITOR 128 /db/u14/oradata/XE/monitor.dbf
SQL> !cat /proc/mounts | egrep "/db/u[0-2]"
/dev/vda1 /db/u14 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/mapper/vgsys-ora_redo /db/u02 xfs rw,noatime,nodiratime,attr2,nobarrier,inode64,logbsize=256k,noquota 0 0

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΏΠΎΠ΄ Ρ‚Π΅Π·ΠΈ условия Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° Π‘Π£Π‘Π” Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ исках Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ SLOB-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°
Вя ΠΈΠΌΠ° Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½Π° особСност, Ρ‰Π΅ Ρ†ΠΈΡ‚ΠΈΡ€Π°ΠΌ Π°Π²Ρ‚ΠΎΡ€Π°:

Π’ основата Π½Π° SLOB Π΅ "ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ SLOB." ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ SLOB ΠΈΠΌΠ° Π·Π° Ρ†Π΅Π» Π΄Π° тСства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ
Π±Π΅Π· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° сподСляни натоварвания. НСвъзмоТно Π΅ Π΄Π° сС постигнС максимална производитСлност Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°
с ΠΊΠΎΠ΄ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ
сподСлянС Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΡ‚ Oracle Database. ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ β€” ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ρ€Π°Π·Ρ…ΠΎΠ΄, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сподСлятС Π΄Π°Π½Π½ΠΈ
Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ с Π΄Π°Π½Π½ΠΈ! Но SLOB β€” Π² своята основна настройка β€” Π΅ ΠΈΠΌΡƒΠ½ΠΈΠ·ΠΈΡ€Π°Π½Π° към Ρ‚Π°ΠΊΠΎΠ²Π° сподСлянС.

Π’Π°Π·ΠΈ дСкларация: отговаря, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠ° Π΅.
Π£Π΄ΠΎΠ±Π½ΠΎ Π΅ Π΄Π° сС Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€Π° стСпСнта Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΡŠΠΌ Π½Π° SLOB-сСсиитС, Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΎ -t Π·Π° стартиранС Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° runit.sh ΠΎΡ‚ ΡΡŠΡΡ‚Π°Π²Π° Π½Π° SLOB-Π°
Π Π΅Π³ΡƒΠ»ΠΈΡ€Π° сС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ DML-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π² броя Π½Π° SLOB-сСсиитС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π° Π‘Π£Π‘Π”, всяка SLOB-сСсия, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ UPDATE_PCT
ΠžΡ‚Π΄Π΅Π»Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ: SLOB самата, ΠΏΡ€Π΅Π΄ΠΈ ΠΈ слСд сСсията Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ β€” подготвя statspack ΠΈΠ»ΠΈ AWR-снимки (ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π΄Π° подготвя).

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ SLOB Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° SLOB-сСсии с ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚ ΠΏΠΎΠ΄ 30 сСкунди.
Π—Π°Ρ‚ΠΎΠ²Π°, ΠΏΡŠΡ€Π²ΠΎ написах моя работничСско-сСлски Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚Π΅Π», Π° слСд Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠΉ Ρ‚Π°ΠΊΠ° ΠΈ остана Π² Ρ€Π°Π±ΠΎΡ‚Π°.

Π©Π΅ уточня Π·Π° натоварватСля β€” ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈ, Π·Π° яснота.
По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ натоварватСлят ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

Код Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°

function dotx()
{
local v_period="$2"
[ -z "v_period" ] && v_period="0"
source "/home/oracle/testingredotracΠ΅/config.conf"

$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror exit failure
set verify off
set echo off
set feedback off

define wnum="$1"
define period="$v_period"
set appinfo worker_&&wnum

declare
 v_upto number;
 v_key  number;
 v_tots number;
 v_cts  number;
begin
 select max(col1) into v_upto from system.testtab_&&wnum;
 SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
 v_tots := &&period + v_cts;
 while v_cts <= v_tots
 loop
  v_key:=abs(mod(dbms_random.random,v_upto));
  if v_key=0 then
   v_key:=1;
  end if;
  update system.testtab_&&wnum t
  set t.object_name=translate(dbms_random.string('a', 120), 'abcXYZ', '158249')
  where t.col1=v_key
  ;
  commit;
  SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
 end loop;
end;
/

exit
__EOF__
}
export -f dotx

Π Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ стартират ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅

echo "стартиранС Π½Π° тСста, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i> "$v_logfile"
 dotx "$i" "${TEST_DURATION}" &
done
echo "ΠΎΡ‡Π°ΠΊΠ²Π°Π½Π΅..." >> "$v_logfile"
wait

А Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ сС подготвят Ρ‚Π°ΠΊΠ°:

БъздаванС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ

function createtable() {
source "\/home\/oracle\/testingredotracΠ΅\/config.conf"
$ORACLE_HOME\/bin\/sqlplus -S system\/${v_system_pwd} << __EOF__
whenever sqlerror continue
set verify off
set echo off
set feedback off

define wnum="$1"
define ts_name="slob"

begin
 execute immediate 'drop table system.testtab_&&wnum';
exception when others then null;
end;
\/\n
create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum> "$v_logfile"

Π’.Π΅. Π·Π° всСки Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ (практичСски: ΠΎΡ‚Π΄Π΅Π»Π½Π° SQL-сСсия Π² Π‘Π£Π‘Π”) сС създава ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, с която Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΡŠΡ‚.

Π‘ Ρ‚ΠΎΠ²Π° сС постига ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ SQL-сСсиитС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅.
ВсСки Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ: ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ, със своята Ρ‚Π°Π±Π»ΠΈΡ†Π°, Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ са Π΅Π΄Π½Π°ΠΊΠ²ΠΈ.
Π Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ всички β€” ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ количСство Π²Ρ€Π΅ΠΌΠ΅.
И Ρ‚ΠΎ β€” Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ дълго Π²Ρ€Π΅ΠΌΠ΅, Π·Π° Π΄Π° сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΡ‡Π½ΠΎ Π»ΠΎΠ³-свичинг, ΠΈ Ρ‚ΠΎ Π½Π΅ само Π΅Π΄ΠΈΠ½ ΠΏΡŠΡ‚.
И ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ с Ρ‚ΠΎΠ²Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈ.
Π’ моя случай β€” ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ Π΅ фиксирана Π½Π° 8 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ.

ΠŸΠ°Ρ€Ρ‡Π΅ ΠΎΡ‚ статспак-ΠΎΡ‚Ρ‡Π΅Ρ‚, с описаниС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π‘Π£Π‘Π” ΠΏΠΎΠ΄ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… DB Id Π˜Π½ΡΡ‚Π°Π½Ρ Inst Num ВрСмя старта Π Π΅Π»ΠΈΠ· RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
2929910313 XE 1 07-Π‘Π΅Π½-20 23:12 18.0.0.0.0 НЕВ

Имя хоста ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° CPUs Π―Π΄Ρ€Π° Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹ ΠŸΠ°ΠΌΡΡ‚ΡŒ (Π“)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
billing.izhevsk1 Linux x86 64-Π±ΠΈΡ‚ 2 2 1 15.6

Π‘Π½ΠΈΠΌΠΎΠΊ Snap Id ВрСмя ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π° БСссии ΠšΡƒΡ€Ρ/БСсс ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
~~~~~~~~ ---------- ------------------ -------- --------- ------------------
Начало сниппСта: 1630 07-Π‘Π΅Π½-20 23:12:27 55 .7
ΠšΠΎΠ½Π΅Ρ† сниппСта: 1631 07-Π‘Π΅Π½-20 23:20:29 62 .6
ΠŸΡ€ΠΎΡˆΠ»ΠΎ: 8.03 (ΠΌΠΈΠ½) Π‘Ρ€. Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сСссий: 8.4
ВрСмя Π‘Π”: 67.31 (ΠΌΠΈΠ½) ВрСмя ЦП Π‘Π”: 15.01 (ΠΌΠΈΠ½)

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ кэша Начало ΠšΠΎΠ½Π΅Ρ†
~~~~~~~~~~~ ---------- ----------
Π‘ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ кэш: 1,392M Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°: 8K
ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡƒΠ»: 288M Π–ΡƒΡ€Π½Π°Π» кэш: 103,424K

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π—Π° сСкунду Π—Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π—Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π—Π° Π²Ρ‹Π·ΠΎΠ²
~~~~~~~~~~~~ ------------------ ----------------- ----------- -----------
ВрСмя Π‘Π” (с): 8.4 0.0 0.00 0.20
ВрСмя ЦП Π‘Π” (с): 1.9 0.0 0.00 0.04
Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ записи: 7,685,765.6 978.4
ЛогичСскиС чтСния: 60,447.0 7.7
ИзмСнСния блока: 47,167.3 6.0
ЀизичСскиС чтСния: 8.3 0.0
ЀизичСскиС записи: 253.4 0.0
Π’Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: 42.6 0.0
ΠŸΠ°Ρ€ΡΠΈΠ½Π³ΠΈ: 23.2 0.0
ЖСсткиС парсинги: 1.2 0.0
ОбъСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠœΠ‘: 1.0 0.0
Π›ΠΎΠ³ΠΈΠ½Ρ‹: 0.5 0.0
ВыполнСния: 15,756.5 2.0
ΠžΡ‚ΠΊΠ°Ρ‚Ρ‹: 0.0 0.0
Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ: 7,855.1

Π’Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ сС към Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.
Π©Π΅ промСнямС стойноститС Π½Π° слСднитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π°Ρ‚Π° Π‘Π£Π‘Π” ΠΏΡ€ΠΈ Ρ€Π°Π²Π½ΠΈ условия:

  1. Π Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΆΡƒΡ€Π½Π°Π»Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ Π½Π° Π‘Π”. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [32, 1024] MB;
  2. Π‘Ρ€ΠΎΠΉ ΠΆΡƒΡ€Π½Π°Π»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ Π½Π° Π‘Π”. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [2,32];
  3. log_archive_max_processes Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [1,8];
  4. commit_logging допускат сС Π΄Π²Π΅ стойности: batch|immediate;
  5. commit_wait допускат сС Π΄Π²Π΅ стойности: wait|nowait;
  6. log_buffer Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [2,128] MB.
  7. log_checkpoint_timeout Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [60,1200] сСкунди
  8. db_writer_processes Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [1,4]
  9. undo_retention Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [30;300] сСкунди
  10. transactions_per_rollback_segment Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° стойности: [1,8]
  11. disk_asynch_io допускат сС Π΄Π²Π΅ стойности: true|false;
  12. filesystemio_options допускат сС слСднитС стойности: none|setall|directIO|asynch;
  13. db_block_checking допускат сС слСднитС стойности: OFF|LOW|MEDIUM|FULL;
  14. db_block_checksum допускат сС слСднитС стойности: OFF|TYPICAL|FULL;

Π§ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° ΠΎΠΏΠΈΡ‚ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° oracle Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π²Π΅Ρ‡Π΅ сСга ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ – ΠΊΠ°ΠΊΠ²ΠΈ стойности трябва Π΄Π° сС Π·Π°Π΄Π°Π΄Π°Ρ‚ ΠΎΡ‚ списъка с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ допустими стойности, Π·Π° Π΄Π° сС постигнС ΠΏΠΎ-голяма производитСлност Π½Π° Π‘Π£Π‘Π”, Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½ΠΈ, заявСна Π² прилоТния ΠΊΠΎΠ΄ ΠΏΠΎ-Π³ΠΎΡ€Π΅.

Но.

Π‘ΠΌΠΈΡΡŠΠ»ΡŠΡ‚ Π½Π° Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ оптимизационният Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π΅ Π±ΡŠΡ€Π· ΠΈ относитСлно Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½.

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

Вака, сСга за кода.
По-Π³ΠΎΡ€Π΅ спомСнах Π·Π° cran-r, Ρ‚.Π΅.: всички ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ‚Π° систСма са ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° R-скрипт.

БобствСно ΠΊΠ°Π·Π°Π½ΠΎ, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π°Π½Π°Π»ΠΈΠ·, ΠΏΠΎΠ΄Π±ΠΎΡ€ ΠΏΠΎ стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° систСмата: Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ GA (докумСнтация)
ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ Π² случая Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ подходящ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ (Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ тСрминологията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°) ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° числа с Π΄Ρ€ΠΎΠ±Π½Π° част.

А моят Π²Π΅ΠΊΡ‚ΠΎΡ€, ΠΎΡ‚ стойноститС Π½Π° настройкитС, Π²ΠΊΠ»ΡŽΡ‡Π²Π° 14 Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΈ β€” Ρ†Π΅Π»ΠΈ числа ΠΈ стрингови стойности.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ лСсно сС заобикаля, ΠΊΠ°Ρ‚ΠΎ Π½Π° стринговитС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΈ сС Π·Π°Π΄Π°Π΄Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ числа.

Π’Π°ΠΊΠ°, Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка, основната част Π½Π° R-скрипта ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

Π’ΠΈΠΊΠ°Π½Π΅ Π½Π° GA::ga

cat( "", file=v_logfile, sep="n", append=F)

pSize = 10
elitism_value=1
pmutation_coef=0.8
pcrossover_coef=0.1
iterations=50

gam=GA::ga(type="real-valued", fitness=evaluate,
lower=c(32,2, 1,1,1,2,60,1,30,1,0,0, 0,0), upper=c(1024,32, 8,10,10,128,800,4,300,8,10,40, 40,30),
popSize=pSize,
pcrossover = pcrossover_coef,
pmutation = pmutation_coef,
maxiter=iterations,
run=4,
keepBest=T)
cat( "GA-сСсията Π·Π°Π²ΡŠΡ€ΡˆΠΈ" , file=v_logfile, sep="n", append=T)
gam@solution

Π’ΡƒΠΊ, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° lower ΠΈ upper Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ga сС Π·Π°Π΄Π°Π²Π°, ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ, областта Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅, Π² която Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΡŠΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€ (ΠΈΠ»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ), Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ максимално Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° фитнСс-функцията.

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ga ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅, максимизирайки фитнСс-функцията.

Π’Π°ΠΊΠ°, Π² случая, трябва фитнСс-функцията, Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΉΠΊΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ стойности Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π‘Π£Π‘Π”, Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ‚ Π‘Π£Π‘Π”.

Π’.Π΅.: ΠΊΠΎΠ»ΠΊΠΎ, ΠΏΡ€ΠΈ Π΄Π°Π΄Π΅Π½ΠΈ настройки Π½Π° Π‘Π£Π‘Π” ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° натоварСност: Π‘Π£Π‘Π” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда.

Π’.Π΅., Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΠΏΠΎ-дълбоко, Π΅ Π½ΡƒΠΆΠ½ΠΎ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° фитнСс-функцията Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Ρ‚Π°ΠΊΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΅Ρ‚Π°ΠΏΠ½Π° Π»ΠΎΠ³ΠΈΠΊΠ°:

  1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° входния Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΡ‚ числа β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° стойноститС Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π‘Π£Π‘Π”.
  2. ΠžΠΏΠΈΡ‚ Π·Π° създаванС Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ количСство redo-Π³Ρ€ΡƒΠΏΠΈ, с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° ΠΎΠΏΠΈΡ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ΅Π½.
    Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Π² Π‘Π£Π‘Π” ΠΆΡƒΡ€Π½Π°Π»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ количСство ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€, трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ Π·Π° чистотата Π½Π° СкспСримСнта.
  3. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°: Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π°Π·Π° стойности Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ (ΠΎΡ‚Π½ΠΎΠ²ΠΎ: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° нСуспСх).
  4. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°: спиранС Π½Π° Π‘Π£Π‘Π”, стартиранС Π½Π° Π‘Π£Π‘Π”, Π·Π° Π΄Π° влязат Π² сила Π½ΠΎΠ²ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ стойности Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅. (ΠΎΡ‚Π½ΠΎΠ²ΠΎ: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° нСуспСх).
  5. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°: ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‰ тСст. ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ‚ Π‘Π£Π‘Π”.
  6. Π’ΡŠΡ€Π½Π΅Ρ‚Π΅ Π‘Π£Π‘Π” Π² ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΠΉ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Ρ‚.Π΅. ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ ΠΈ Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° конфигурация Π½Π° Π‘Π£Π‘Π”.

Код Π½Π° функцията Π·Π° фитнСс

evaluate=function(p_par) {
v_module="evaluate"
v_metric=0
opn=NULL
opn$rg_size=round(p_par[1],digit=0)
opn$rg_count=round(p_par[2],digit=0)
opn$log_archive_max_processes=round(p_par[3],digit=0)
opn$commit_logging="BATCH"
if ( round(p_par[4],digit=0) > 5 ) {
 opn$commit_logging="IMMEDIATE"
}
opn$commit_logging=paste("'", opn$commit_logging, "'",sep="")

opn$commit_wait="WAIT"
if ( round(p_par[5],digit=0) > 5 ) {
 opn$commit_wait="NOWAIT"
}
opn$commit_wait=paste("'", opn$commit_wait, "'",sep="")

opn$log_buffer=paste(round(p_par[6],digit=0),"m",sep="")
opn$log_checkpoint_timeout=round(p_par[7],digit=0)
opn$db_writer_processes=round(p_par[8],digit=0)
opn$undo_retention=round(p_par[9],digit=0)
opn$transactions_per_rollback_segment=round(p_par[10],digit=0)
opn$disk_asynch_io="true"
if ( round(p_par[11],digit=0) > 5 ) {
 opn$disk_asynch_io="false"
}

opn$filesystemio_options="none"
if ( round(p_par[12],digit=0) > 10 && round(p_par[12],digit=0)  20 && round(p_par[12],digit=0)  30 ) {
 opn$filesystemio_options="asynch"
}

opn$db_block_checking="OFF"
if ( round(p_par[13],digit=0) > 10 && round(p_par[13],digit=0)  20 && round(p_par[13],digit=0)  30 ) {
 opn$db_block_checking="FULL"
}

opn$db_block_checksum="OFF"
if ( round(p_par[14],digit=0) > 10 && round(p_par[14],digit=0)  20 ) {
 opn$db_block_checksum="FULL"
}

v_vector=paste(round(p_par[1],digit=0),round(p_par[2],digit=0),round(p_par[3],digit=0),round(p_par[4],digit=0),round(p_par[5],digit=0),round(p_par[6],digit=0),round(p_par[7],digit=0),round(p_par[8],digit=0),round(p_par[9],digit=0),round(p_par[10],digit=0),round(p_par[11],digit=0),round(p_par[12],digit=0),round(p_par[13],digit=0),round(p_par[14],digit=0),sep=";")
cat( paste(v_module," try to evaluate vector: ", v_vector,sep="") , file=v_logfile, sep="n", append=T)

rc=make_additional_rgroups(opn)
if ( rc!=0 ) {
 cat( paste(v_module,"make_additional_rgroups failed",sep="") , file=v_logfile, sep="n", append=T)
 return (0)
}

v_rc=0
rc=set_db_parameter("log_archive_max_processes", opn$log_archive_max_processes)
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("commit_logging", opn$commit_logging )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("commit_wait", opn$commit_wait )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("log_buffer", opn$log_buffer )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("log_checkpoint_timeout", opn$log_checkpoint_timeout )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_writer_processes", opn$db_writer_processes )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("undo_retention", opn$undo_retention )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("transactions_per_rollback_segment", opn$transactions_per_rollback_segment )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("disk_asynch_io", opn$disk_asynch_io )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("filesystemio_options", opn$filesystemio_options )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_block_checking", opn$db_block_checking )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_block_checksum", opn$db_block_checksum )
if ( rc != 0 ) {  v_rc=1 }

if ( rc!=0 ) {
 cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
 rc=stop_db("immediate")
 rc=create_spfile()
 rc=start_db("")
 rc=remove_additional_rgroups(opn)
 return (0)
}

rc=stop_db("immediate")
rc=start_db("")
if ( rc!=0 ) {
 cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
 rc=stop_db("abort")
 rc=create_spfile()
 rc=start_db("")
 rc=remove_additional_rgroups(opn)
 return (0)
}

rc=run_test()
v_metric=getmetric()

rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)

cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
return (v_metric)
}

Π’Π°ΠΊΠ° цялата Ρ€Π°Π±ΠΎΡ‚Π°: изпълнява сС Π² функцията Π·Π° фитнСс.

ga-ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ β€” Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ.
Π’ която Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈ интСрСсува: сСлСкция Π½Π° Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ с Ρ‚Π°ΠΊΠΈΠ²Π° Π³Π΅Π½ΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ функцията Π·Π° фитнСс Π΄Π°Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ стойности.

Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ Π² N-ΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΎ пространство Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅.

Много ясно, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обяснСниС, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° R-ΠΊΠΎΠ΄, Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° гСнСтичния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ.

ΠžΡ‚Π΄Π΅Π»Π½ΠΎ Ρ‰Π΅ посоча Π΄Π²Π° тСхничСски ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°.

ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ извиквания, ΠΎΡ‚ функцията evaluate, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ спиранС-стартиранС, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° стойност Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π½Π° Π‘Π£Π‘Π”, сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° cran-r функцията system2

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° която: сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π²Π΅Ρ‡Π΅ някакъв bash-скрипт ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

НапримСр:

set_db_parameter

set_db_parameter=function(p1, p2) {
v_module="set_db_parameter"
v_cmd="/home/oracle/testingredotracΠ΅/set_db_parameter.sh"
v_args=paste(p1," ",p2,sep="")

x=system2(v_cmd, args=v_args, stdout=T, stderr=T, wait=T)
if ( length(attributes(x)) > 0 ) {
 cat(paste(v_module," failed with: ",attributes(x)$status," ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
 return (attributes(x)$status)
}
else {
 cat(paste(v_module," ok: ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
 return (0)
}
}

Вторият ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” Ρ€Π΅Π΄ΡŠΡ‚ с Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ‚Π° стойност Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈΡ Π½Π° нСя настройващ Π²Π΅ΠΊΡ‚ΠΎΡ€, Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π°: evaluate cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)

Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ масив ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° информация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠΉ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° настройващия Π²Π΅ΠΊΡ‚ΠΎΡ€ влияС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π½Π° стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°.

ВоСст: ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Π°Π½Π°Π»ΠΈΠ· Π½Π° ваТността Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ.

Под Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π°ΠΊΠΎ ΠΏΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌ тСстовСтС ΠΏΠΎ нарастваща ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°Ρ‚Π° Π΅ Ρ‚Π°ΠΊΠ°Π²Π°:

Някои Π΄Π°Π½Π½ΠΈ, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈ Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈ стойности Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°:

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

Π’ΡƒΠΊ, Π½Π° Π΅ΠΊΡ€Π°Π½Π° с Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅, уточнявам: стойноститС Π½Π° настройващия Π²Π΅ΠΊΡ‚ΠΎΡ€ са Π΄Π°Π΄Π΅Π½ΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° функцията Π·Π° фитнСс, Π° Π½Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ Π½Π° Π½ΠΎΠΌΠ΅Ρ€-списък ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ/Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° стойности Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Ρ… ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π² тСкста.
ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ
Π•, ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈ Π΅ Ρ‚ΠΎΠ²Π°, ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠΎ, ~8 хиляди tps: Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½.

Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° β€” Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½Π° Ρ‚Π°Π·ΠΈ Ρ†ΠΈΡ„Ρ€Π°, Π²Π°ΠΆΠ½Π° Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°Ρ‚Π°, ΠΊΠ°ΠΊ сС промСня Ρ‚Π°Π·ΠΈ стойност.
Π”ΠΈΠ½Π°ΠΌΠΈΠΊΠ°Ρ‚Π° Ρ‚ΡƒΠΊ Π΅ Π΄ΠΎΠ±Ρ€Π°.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅, ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ΠΎΡ€, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ влияСщ Π½Π° стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°, ga-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚, ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΠΉΠΊΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ-Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ: Π΅ ΠΏΠΎΠΊΡ€ΠΈΠ».
ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ΠΎΡ€, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ влияСщ Π½Π° стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°, гСнСтичният Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ-Ρ…Ρ€ΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ: Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ.
Богласно достаочно Π±ΠΎΠ΄Ρ€ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΡ€ΠΈΠ²ΠΎΠΉ β€” Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, хотя ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, Π½ΠΎ ΠΎΠΊΠ°Π·ΡƒΠ΅Ρ‚ влияниС.

Π’ΡƒΠΊ ΠΏΠΎΠΌΠΎΠ³Π½Π΅Ρ‚Π΅ attribute-importance Π°Π½Π°Π»ΠΈΠ·, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ: ΠΊΠ°ΠΊΠ²ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ (Π² Ρ‚ΠΎΠ·ΠΈ случай β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° настройния Π²Π΅ΠΊΡ‚ΠΎΡ€) ΠΈ ΠΊΠΎΠ»ΠΊΠΎ силно влияят Π½Π° стойността Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°.
А ΠΎΡ‚ Ρ‚Π°Π·ΠΈ информация: Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ β€” ΠΊΠ°ΠΊΠ²ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ са Π±ΠΈΠ»ΠΈ засСгнати ΠΎΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ‡ΠΈΠΌΠΈΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ.

Изпълни attribute-importance ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ.

На ΠΌΠ΅Π½, Π·Π° Ρ‚Π΅Π·ΠΈ Ρ†Π΅Π»ΠΈ, ΠΌΠΈ харСсва Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ randomForest ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° R ΠΏΠ°ΠΊΠ΅Ρ‚Π° (докумСнтация)
randomForest, ΠΊΠ°ΠΊΡ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΌΡƒ Π½Π° ΠΎΠ±Ρ‰ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΌΡƒ към ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° ваТността Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ Π² частност, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΌΠΎΠ΄Π΅Π»Π½Π° зависимост Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΎΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅.

Π’ нашия случай ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΡ‚ субд, Π² Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‰ΠΈ тСстовС: tps;
А Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ са β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° настройния Π²Π΅ΠΊΡ‚ΠΎΡ€.

Π’Π°ΠΊΠ° Ρ‡Π΅ randomForest ΠΎΡ†Π΅Π½ΠΈΠ²Π° ваТността Π½Π° всСки Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° с Π΄Π²Π΅ числа: %IncMSE β€” ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ/ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π² ΠΌΠΎΠ΄Π΅Π»Π° промСня качСството Π½Π° MSE Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» (Mean Squared Error);

И IncNodePurity β€” Ρ‚ΠΎΠ²Π° Π΅ число, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ качСствСно, ΠΏΠΎ стойноститС Π½Π° Ρ‚ΠΎΠ·ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ с наблюдСния, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π² Π΅Π΄Π½Π°Ρ‚Π° част Π΄Π° сС ΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° стойност Π½Π° обясняваната ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, Π° Π² Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° с Π΄Ρ€ΡƒΠ³Π° стойност Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°.
ВоСст: ΠΊΠΎΠ»ΠΊΠΎ классифициращ Π΅ Ρ‚ΠΎΠ·ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ (Π½Π°ΠΉ-ясното, Π½Π° руски обяснСниС ΠΏΠΎ random forest, ΠΊΠΎΠ΅Ρ‚ΠΎ видях Ρ‚ΡƒΠΊ).

РаботничСско-сСлски R-ΠΊΠΎΠ΄, Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ с Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‰ΠΈΡ‚Π΅ тСстовС:

x=NULL
v_data_file=paste('tmp/data1.dat',sep="")
x=read.table(v_data_file, header = TRUE, sep = ";", dec=",", quote = ""'", stringsAsFactors=FALSE)
colnames(x)=c('metric','rgsize','rgcount','lamp','cmtl','cmtw','lgbffr','lct','dbwrp','undo_retention','tprs','disk_async_io','filesystemio_options','db_block_checking','db_block_checksum')

idxTrain=sample(nrow(x),as.integer(nrow(x)*0.7))
idxNotTrain=which(! 1:nrow(x) %in% idxTrain )
TrainDS=x[idxTrain,]
ValidateDS=x[idxNotTrain,]

library(randomForest)
#mtry=as.integer( sqrt(dim(x)[2]-1) )
rf=randomForest(metric ~ ., data=TrainDS, ntree=40, mtry=3, replace=T, nodesize=2, importance=T, do.trace=10, localImp=F)
ValidateDS$predicted=predict(rf, newdata=ValidateDS[,colnames(ValidateDS)!="metric"], type="response")
sum((ValidateDS$metric-ValidateDS$predicted)^2)
rf$importance

МоТС Π½Π°ΠΏΡ€Π°Π²ΠΎ Π½Π° Ρ€ΡŠΠΊΠ° Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ…ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° ΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎ качСството Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°, Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΌΠΎΠ΄Π΅Π»Π°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° прСдсказанията Π½Π° валидирания Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ.
МоТС Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ някаква функция Π·Π° Ρ‚Π°Π·ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° (ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ β€” ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Π½Π° някакъв ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ).

МоТС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ R ΠΏΠ°ΠΊΠ΅Ρ‚Π° caret, Π½Π΅ Π΅ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Π² Ρ‚ΠΎΠ·ΠΈ случай, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Ρ‚Π°ΠΊΡŠΠ² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π·Π° ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° стСпСнта Π½Π° ваТност Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅:

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° научния ΠΎΠΏΠΈΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅ΠΌ конфигурация Π½Π° SGBD с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

И Ρ‚Π°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ размисли:

  1. ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π° сС, Ρ‡Π΅ Π½Π°ΠΉ-значимият ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Π² Ρ‚Π΅Π·ΠΈ условия Π½Π° тСстванС Π΅ commit_wait
    ВСхничСски, Ρ‚ΠΎΠΉ Π·Π°Π΄Π°Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° изпълнСниС Π½Π° IO опСрацията Π·Π° запис Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π»ΠΎΠ³ Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° Π‘Π£Π‘Π” Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΆΡƒΡ€Π½Π°Π»Π½Π° Π³Ρ€ΡƒΠΏΠ°: синхронСн ΠΈΠ»ΠΈ асинхронСн.
    Бтойност nowait , ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ практичСски Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π΅Π½ ΠΈ ΠΊΡ€Π°Ρ‚Π΅Π½ растСТ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° TPS: Ρ‚ΠΎΠ²Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° асинхронния Ρ€Π΅ΠΆΠΈΠΌ Π½Π° IO Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ.
    ΠžΡ‚Π΄Π΅Π»Π΅Π½ Π²ΡŠΠΏΡ€ΠΎΡ Π΅ Π΄Π°Π»ΠΈ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ Ρ‚Π°ΠΊΠ° Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π’ΡƒΠΊ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°ΠΌ само Π΄ΠΎ констатацията: Ρ‚ΠΎΠ²Π° Π΅ Π·Π½Π°Ρ‡ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€.
  2. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΅, Ρ‡Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π»ΠΎΠ³ Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° Π‘Π£Π‘Π” Π΅ Π·Π½Π°Ρ‡ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€.
    ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-малък Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π»ΠΎΠ³ Π±ΡƒΡ„Π΅Ρ€Π°, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° Π΅ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Ρ‰Π°Ρ‚Π° ΠΌΡƒ способност, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-чСсто сС случват Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ прСливания ΠΈ/ΠΈΠ»ΠΈ Π½Π΅Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° сС освободи свободно пространство Π·Π° Π½ΠΎΠ²ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
    А слСдоватСлно: забавяния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с разпрСдСлянСто Π½Π° пространство Π² Π»ΠΎΠ³ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ/ΠΈΠ»ΠΈ изтласкванСто Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ.
    Π’Π΅Π·ΠΈ забавяния, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, трябва Π΄Π° влияят ΠΈ влияят Π½Π° пропускатСлната способност Π½Π° Π‘Π£Π‘Π” Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
  3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ db_block_checksum: Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΡΡŠΡ‰ΠΎ Π΅ ясно β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° dirty Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² буфСрния кСш Π½Π° Π‘Π£Π‘Π”.
    ΠšΠΎΠΈΡ‚ΠΎ, ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми Π½Π° Π΄Π°Π½ΡŠΡ‡Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° β€” изчислява Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми ΠΎΡ‚ тялото Π½Π° Π΄Π°Π½ΡŠΡ‡Π½ΠΈΡ Π±Π»ΠΎΠΊ ΠΈ Π΄Π° Π³ΠΈ сравнява с Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ записано Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°Ρ‚Π° Π½Π° Π΄Π°Π½ΡŠΡ‡Π½ΠΈΡ Π±Π»ΠΎΠΊ: съвпада/Π½Π΅ съвпада.
    Π’Π°ΠΊΠ°Π²Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ забавя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°Π΄Π°Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€, сС ΠΎΠΊΠ°Π·Π²Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΠΌΠΈ.
    По ΡΡŠΡ‰Π°Ρ‚Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π²Π΅Π½Π΄ΠΎΡ€ΡŠΡ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π² докумСнтацията Π·Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стойности ΠΈ отбСлязва, Ρ‡Π΅ Π΄Π°, Ρ‰Π΅ ΠΈΠΌΠ° влияниС, Π½ΠΎ, Π΅Ρ‚ΠΎ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стойности, Π΄ΠΎΡ€ΠΈ Π΄ΠΎ "ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ" ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ влияниС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅.

И глобалният ΠΈΠ·Π²ΠΎΠ΄.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚, Π² ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ, сС ΠΎΠΊΠ°Π·Π²Π° напълно Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰.

Π’ΠΎΠΉ напълно позволява, Π½Π° Ρ€Π°Π½Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚Π΅Π»Π½ΠΎΡ‚ΠΎ тСстванС Π½Π° някаква сСрвизна систСма, Π΄Π° Π½Π΅ сС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π°Π²Π°ΠΌΠ΅ Π² особСноститС Π½Π° настройката Π½Π° систСмата ΠΏΠΎΠ΄ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π° конфигурация.

Но Π½Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° напълно β€” ΠΏΠΎΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅: "Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΡŠΡ‡Π½ΠΈ Π΄Ρ€ΡŠΠΆΠΊΠΈ" ΠΈ допустимитС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° Π²ΡŠΡ€Ρ‚Π΅Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Π΄Ρ€ΡŠΠΆΠΊΠΈ, систСмата трябва Π΄Π° Π·Π½Π°Π΅.

БлСдващият ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ относитСлно Π±ΡŠΡ€Π·ΠΎ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° конфигурация Π½Π° систСмата.
И ΠΌΠΎΠΆΠ΅, Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° тСстовСтС, Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ информация относно ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° Π½Π° качСството Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° систСмата ΠΈ стойноститС Π½Π° настройващитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° систСмата.

Какво, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, трябва Π΄Π° допринСсС Π·Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠ²Π° дълбоко Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° систСмата, Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠ½Π΅ β€” ΠΏΠΎΠ΄ Ρ‚ΠΎΠ²Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°: Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Π²Π½ΠΈΠΊΠ²Π°Π½Π΅ Π² настраиваСмата систСма спрямо Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° Ρ‚Π°ΠΊΠΎΠ²Π° тСстванС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° систСмата.

ΠŸΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Ρ‰Π΅ ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°: Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π²Π°ΠΆΠ½Π° Π΅ стСпСнта Π½Π° адСкватност Π½Π° тСстванСто Π½Π° систСмата към условията Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ тя Ρ‰Π΅ ΠΈΠΌΠ° Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Π° Сксплоатация.

Благодаря Π·Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²Ρ€Π΅ΠΌΠ΅.

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

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