Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠœΠΈΡ€ InterBase. АрхитСктура, администрированиС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² InterBase/FireBird/YaffilΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 111

Автор А Ковязин

#define LCK_PR 3

Protected Read

Π—Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ Π§Ρ‚Π΅Π½ΠΈΠ΅

#defme LCK_SW 4

Shared Write

БовмСстная запись

#define LCK_PW 5

Protected Write

ЗащищСнная запись

#define LCK_EX 6

Exclusive

Эксклюзивная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ‚ΠΈΠΏΠ° LCK_none Π½Π° самом Π΄Π΅Π»Π΅ прСдставляСт собой запрос Π½Π° снятиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° LCK_null - это Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° сущСствования, которая налагаСтся клиСнтским соСдинСниСм. Для этого соСдинСния Π²Π°ΠΆΠ½ΠΎ лишь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сущСствовал.

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сущСствованиС индСксов, ΠΏΠΎΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ скомпилированныС запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ этих индСксов. ВзаимодСйствиС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ описываСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ совмСстимости Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (здСсь 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ совмСстимы, 0 - нСсовмСстимы):


none

null

Shared Read

Protected Read

Shared Write

Protected Write

Exclusive

ΠΏΠΎΠΏΠ΅

1

1

1

1

1

1

1

null

1

1

1

1

1

1

1

SR

1

1

1

1

1

1

0

PR

1

1

1

1

0

0

0

SW

1

1

1

0

1

0

0

PW

1

1

1

0

0

0

0

EX

1

1

0

0

0

0

0

Когда соСдинСниС ΠΆΠ΅Π»Π°Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠ½ΠΎ ΠΏΠΎΠ΄Π°Π΅Ρ‚ запрос Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ соСдинСниС ΠΆΠ΅Π»Π°Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠΆΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ соСдинСниСм, Ρ‚ΠΎ выстраиваСтся ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ доступа, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠ΅Π»Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Protected Read, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Protected Read ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅, пСрСдвинутся Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ (Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΠΏΡ€ΠΎΠΉΠ΄ΡƒΡ‚ Π±Π΅Π· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ), Π° соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Shared Write), Π±ΡƒΠ΄ΡƒΡ‚ "Ρ‚ΠΎΠΏΡ‚Π°Ρ‚ΡŒΡΡ" Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Если Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ высоких ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠ΅ соСдинСния (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ) Π±ΡƒΠ΄ΡƒΡ‚ постоянно ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ "Π»Π΅Π·Ρ‚ΡŒ Π±Π΅Π· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ".

Показания ΠΊ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

Если ваши ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с опСрациями чтСния, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сортировки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чтСния, особСнно Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Но Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. - ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии своих Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

LOCK HASH SLOTS

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ lock hash slots Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° InteiBaseGx. no ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π² SuperSener ΠΏΠΎΠ΄ NT Однако исходный KOI Π΄ 1я Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, всС Π΅Ρ‰Π΅ сущСствуСт.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ibconfig

LOCK_HASH_SLOTS 101

ДСйствиС

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для поиска Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 101. Число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ простым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΡΡˆ-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ» Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ распрСдСлСниС.

Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 101 Π΄ΠΎ 2048

ОбъяснСниС

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π° - это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ "ΡΠ²ΠΈΡΠ°ΡŽΡ‚" ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки этого массива. ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ вычисляСт остаток ΠΎΡ‚ цСлочислСнного дСлСния этой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π½Π° число Ρ…ΡΡˆ-слотов Π² массивС, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ опрСдСляСт ячСйку, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ "ΠΏΠΎΠ΄Π²Π΅ΡΠΈΡ‚ΡŒ" Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Когда ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈΡ‰Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΎΠ½ опрСдСляСт ячСйку кэш-массива Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ спускаСтся Π²Π½ΠΈΠ· ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅, подвСшСнной ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ячСйкС, ΠΈ ΠΈΡ‰Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Если находится Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с этим ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ "ΠΎΠ΄Π½ΠΎΡ„Π°ΠΌΠΈΠ»ΡŒΡ†Π΅Π²", которая ΠΏΠΎΠ΄Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт искомому ΠΈΠΌΠ΅Π½ΠΈ

Π§Ρ‚ΠΎ получаСтся Π² ΠΈΡ‚ΠΎΠ³Π΅. Π§Π΅ΠΌ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ, ΠΏΠΎΠ΄Π²Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ слоту, Ρ‚Π΅ΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π’ срСднСм каТдая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 ячССк.

Показания ΠΊ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ для измСнСния этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ общая низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы с большим количСством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ страниц Π² кСшС ЗапуститС инструмСнт iblockpr ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ %INTERBASE%\Bin для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Если срСдняя Π΄Π»ΠΈΠ½Π° Π±ΠΎΠ»Π΅Π΅ 10, ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ число этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Для Π½Π°Ρ‡Π°Π»Π° ΡƒΠΌΠ½ΠΎΠΆΡŒΡ‚Π΅ ΡΡ€Π΅Π΄Π½ΡŽΡŽ Π΄Π»ΠΈΠ½Ρƒ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ Π½Π° число слотов ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° 9, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ простоС Ρ†Π΅Π»ΠΎΠ΅ число, большСС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ значСния (Π½ΠΎ мСньшСС 2048). Если Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ настройку Π½Π° SuperServer, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

DEADLOCK TIMEOUT

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ibconfig

DEADLOCK_TIMEOUT 10

ДСйствиС

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт число сСкунд, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Π° ΠΏΠΎ истСчСнии этого срока ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн ΠΊΠ°ΠΊ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deadlock (взаимная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°)

ОбъяснСниС

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° интСнсивно тСстировали ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π½Π° систСмах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ сСгодня ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Π² посудомоСчной машинС. На Π΄Π°Π½Π½ΠΎΠ΅ врСмя 10 с ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ Π Π΅Π»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ мСньший ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° deadlock пСрСгрузят ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, Π° Ссли Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ворвутся Π² Π²Π°ΡˆΡƒ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡŽ ΠΈ разгромят ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

Показания ΠΊ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

Deadlock ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² InterBase ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ошибка deadlock, ошибка обновлСния (Update Conflict) Π½Π΅ являСтся Ρ‚Π΅ΠΌ deadlock, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обнаруТиваСтся ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ интСрСс Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ случай возникновСния deadlock (ΠΊΠΎΠ³Π΄Π° А измСняСт строк) 1, Π’ измСняСт строку 2, Π·Π°Ρ‚Π΅ΠΌ А пытаСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строку 2, Π° Π’ - строку 1, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ всС это Π±Π΅Π· подтвСрТдСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ - Π±Π΅Π· commit), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ DEADLOCK_TIMEOUT, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ измСняСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

LOCK ACQUIRE SPINS

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ibconfig

LOCK_ACQUIRE_SPINS 0

ДСйствиС

Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ SuperServer этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ дСйствия Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π΅ Classic Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Доступ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ опрСдСляСтся ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠΌ Запрос ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ условным, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° являСтся ошибкой ΠΈ запрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½, Π»ΠΈΠ±ΠΎ бСзусловным, ΠΊΠΎΠ³Π΄Π° запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ Π½Π΅ обслуТат. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ LOCK_ACQUIRE_SPINS устанавливаСт число ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ выполнСния условного запроса. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 0 (Π½ΡƒΠ»ΡŒ).

ОбъяснСниС

Условный запрос ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ° повторяСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число Ρ€Π°Π·, устанавливаСмоС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ LOCK_ACQUIRE_SPINS, Π° Π·Π°Ρ‚Π΅ΠΌ прСвращаСтся Π² бСзусловный запрос. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ это ΠΌΠΎΠΆΠ΅Ρ‚ принСсти ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… с нСсколькими процСссорами (SMP). Π§Ρ‚ΠΎ вСсьма ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Показания ΠΊ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

НСт.

CONNECTION TIMEOUT

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ibconfig

CONNECTION_TIMEOUT 180

ДСйствиС

УстанавливаСт врСмя оТидания (Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚) соСдинСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽβ€” 180 с.

ОбъяснСниС

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π·ΠΎΡ€Π²Π°Π»ΠΈ соСдинСниС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅Ρ… Windows-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ свои ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π² прилоТСния, InterBase посылаСт Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания (Ρ‚Π°ΠΉ-ΠΌΠ°ΡƒΡ‚Π°) соСдинСния. Если ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° запрос Π½Π΅Ρ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ установлСнного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ InterBase Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС

ВрСмя оТидания Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² dpb (database parameter block). Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ isc_dpb_connect_timeout.

Показания ΠΊ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ρ‚Π΅ΠΌ мСньшС Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… запросов Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΡΠ΅Ρ‚ΡŒ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, "ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Π΅" соСдинСния Π±ΡƒΠ΄ΡƒΡ‚ дольшС "Π²ΠΈΡΠ΅Ρ‚ΡŒ". РСкомСндуСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ссли Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ клиСнтскиС прилоТСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.