Ова страница је машински преведена. Прочитајте енглески оригинал. English

IBSurgeon библиотека

IBTransaction Monitor - Корисничко упутство

Дмитриј Кузменко, 08-јун-2008

IBSurgeon Transaction Monitor (IBTM) је софтверски пакет дизајниран за праћење, преглед и анализу динамичких трансакција унутар InterBase и Firebird база података.

Садржај

IBSurgeon Transaction Monitor User’s Guide. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}

Шта је унутра?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Monitor{C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Шта се бележи?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configuration Assistant{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}

Коришћење Configuration Assistant-а{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Управљање Monitor сервисом. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Конфигурисање сервера. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Конфигурисање база података. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}

Visualizer{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}

Типови графичког приказа. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}

Техничка подршка{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}

IBTM пакет садржи три главна модула:

  • Monitor - Мали програм заснован на Win32 сервису за праћење и бележење стања трансакција из једне или више база података.
  • Configuration Assistant За конфигурисање подешавања за Monitor и Viewer.
  • Visualizer Дизајниран за преглед и анализу информација које је забележио Monitor.

Monitor је мали програм заснован на Win32 сервису (ibtm.exe), који ради на Windows NT, 2000, XP и Windows Server 2003 и 2008 (и 32 и 64 битна верзија). При покретању, Monitor чита подешавања (која је поставио Configuration Assistant) и прати одређену базу података. Током праћења, повезује се са базом података сваког минута (препоручени подразумевани интервал) и чита стање трансакција.

Ако InterBase или Firebird ради на Windows-у, Monitor се може инсталирати на серверу где се база података налази. За сервере засноване на Linux-у, може се инсталирати на било ком Windows рачунару са мрежним приступом InterBase или Firebird серверу. Monitor можете инсталирати користећи следеће методе:

  • Коришћењем Configuration Assistant-а
  • Из командне линије

Важно! Пре почетка инсталације Monitor-а, морате се уверити да сте пријављени на Windows са администраторским правима и привилегијама. Monitor ће бити инсталиран као сервис са аутоматским покретањем под корисничким налогом Localsystem.

Пошто се Monitor само периодично повезује са базом података и записује прикупљене информације у обичну текстуалну датотеку дневника, нема потребе за применом додатних правила. Међутим, ако желите да обезбедите Monitor конфигурацију и информације за пријаву на базу података, морате променити подешавања Monitor сервиса и приступ његовом директоријуму (и дневнику) према потреби, преко Windows Service Control Panel-а.

Параметри конфигурације Monitor-а биће размотрени у Configuration Assistant-у.

Monitor периодично проверава страницу заглавља базе података, а затим чува информације о трансакцијама базе података у дневник, на следећи начин:

  • Време бележења
  • Број најстарије трансакције
  • Број најстарије snapshot трансакције
  • Број најстарије активне трансакције
  • Број следеће трансакције
  • Број активних трансакција (зависи од верзије сервера)

Ове информације се чувају у датотеци дневника и могу се касније прегледати и анализирати помоћу Visualizer-а. Користећи визуелне информације о стању трансакција, можете разумети колико дуго ваше апликације држе трансакције отвореним, колико истовремених трансакција ради, колико дуго трају snapshot трансакције, када је најинтензивније време када апликације покрећу трансакције, итд.

Напомена: Monitor бележи информације о стању трансакција у локалну датотеку дневника. Он не шаље ове или било које друге информације преко мреже.

Configuration Assistant (ibtmconfig.exe) се користи за подешавање параметара конфигурације за Monitor и Viewer. Он чува параметре конфигурације у датотеци ibtm.ini.

! На Windows Vista или Windows 7 морате покренути Configuration Assistant са администраторским привилегијама (десни клик мишем), иначе неће моћи да управља IBTM сервисом (Грешка 5, приступ одбијен).

Савет! IBTM не користи Registry за чување параметара конфигурације, тако да можете припремити конфигурацију на једном рачунару, а затим преместити ibtm.ini на други рачунар где је Monitor инсталиран (Monitor сервис треба поново покренути да би прочитао нову конфигурацију).

Monitor и Configuration Assistant се постављају од стране IBTM инсталатера у исти директоријум, тако да Monitor и Configuration Assistant деле исту конфигурациону датотеку (ibtm.ini).

Описание: E:\IBSurgeon\IBTM\ibtmconfig.gif

Configuration Assistant вам помаже да

  • Управљате Monitor сервисом - инсталација, деинсталација, покретање, заустављање, паузирање и поновно покретање.
  • Одредите InterBase или Firebird сервере који имају базе података које треба пратити
  • Одредите базе података и опције праћења/планирања за одређену базу података

Описание: E:\IBSurgeon\IBTM\ibtmconfig1.gif

Када се Configuration Assistant покрене, он одређује стање Monitor сервиса на систему.

Инсталација Monitor-а - ако Monitor сервис није инсталиран, видећете поруку “није инсталиран” у IBTM ознаци стања у горњем левом углу. Да бисте инсталирали Monitor, притисните дугме Install са десне стране прозора. Имајте на уму да ће Monitor сервис користити вредност поља за потврду Start type (аутоматски или ручно). Ако је инсталација Monitor сервиса успела, видећете да се IBTM стање промени у “заустављено” и дугме “Run service” ће бити омогућено.

Морате поново покренути Monitor сервис кад год промените било који параметар конфигурације базе података.

IBTM користи TCP/IP протокол повезивања за приступ базама података ради праћења. Дакле, ако сте инсталирали Monitor на истом рачунару на коме је сервер, морате додати сервер као localhost или име хоста сервера. Када се то уради, моћи ћете да додате базе података које ће се пратити на овом серверу.

Са овом верзијом IBTM-а можете пратити само једну базу података истовремено. Додатне лиценце су потребне за истовремено праћење једне или више база података. Молимо вас да нас контактирате за детаље ( www.ibphoenix.com).

Међутим, можете подесити неколико сервера и база података и пребацивати се између њих да бисте изабрали базу података за праћење (активна база података ће бити истакнута подебљаним словима). Са додатним лиценцама моћи ћете да пратите неколико база података истовремено.

Користите дугмад Add Server и Add Database са леве стране листе Databases.

Сваки запис базе података може се конфигурисати са следећим параметрима:

Метод добијања статистике. Ово зависи од верзије сервера и подржава различите могућности. Сваки метод је описан са својим предностима и манама:

Services API Firebird API TMP$ tables
InterBase 4.x/5.x Не Не Не
InterBase 6.0 Classic Не Не Не
Firebird Classic -
1.0, 1.5.0, 1.5.1, 1.5.2
Не Да Не
InterBase 6.x SuperServer Да Не Не
InterBase 7.x/2007 Да Не Да
Firebird Classic и SuperServer: 1.5.3, 1.5.4 /2.0 Да Да Не

Разлике између Services API, Firebird API и TMP$ tables:

Метод Предности Мане
Services API
Јавни API који је уведен у InterBase 6.0 SuperServer
- Универзални метод, ради са свим верзијама InterBase-а и Firebird-а
- Не утиче на следећу трансакцију
- Нема могућност да пронађе стварни број активних трансакција
- Може показати застареле информације ако сервер ретко чува страницу заглавља базе података на диск (InterBase V7.1/V7.5)

| Firebird API
Firebird од V1.0 има проширене параметре за isc_database_info позив, који омогућавају повратак информација о стању трансакција. | Омогућава добијање информација о броју активних трансакција (не више од 4676 активних трансакција) | - Није подржано ни у једној верзији InterBase-а
- Интерно повећава Next трансакцију. Монитор ће повећати Next трансакцију за +1 сваки пут када се повеже на базу података. Ако у том тренутку нема активности трансакција у бази, бројеви Oldest Active, Oldest Snapshot и Oldest трансакција ће остати непромењени.


Ако нема никакве активности у бази података, сам Монитор ће повећати Next трансакцију на +1440 у 24 сата, ако је конфигурисан да проверава базу сваког (1) минута.


(Сам Firebird API нема овај ефекат. Описано понашање је специфично за isc_database_info метод) | | TMP$ табеле
Уведене су у InterBase 7.0 да омогуће праћење стања сервера | - Омогућава добијање стварног стања трансакција из InterBase V7.x/V2007, укључујући број активних трансакција.
- Да би добио информације о стању трансакција, Монитор покреће трансакцију са read_only read_committed rec_version параметрима. Таква трансакција се не третира као активна за потребе обрачуна трансакција и не утиче на перформансе сервера или базе података. | - Подржано само од стране InterBase V7.0/V7.1/V7.5/V2007
- Као и код Firebird API-ја, повећава број Next трансакције, јер читање података из TMP$ табела мора бити обављено у оквиру трансакције.
- Време приступа је нешто дуже него коришћење Services API-ја (< 0.5 секунди). |

Ако сте изабрали метод статистике који није компатибилан са вашим сервером, ништа неће бити записано у Мониторов дневник трансакција. Проверите картицу Error log у Configuration Assistant-у да видите грешке које се могу јавити током праћења базе података.

Check Interval. Ово одређује колико често Монитор узима информације о трансакцијама из базе података. 1 минут је минимални интервал. Можете поставити 1, 3, 5, 10, 20, 30 минута, или чак интервал од 1 сата, али најинформативнији интервал је 1 или 3 минута.

Коришћењем интервала од 1 минута, Монитор ће проверити стање трансакција у бази 1440 пута сваких 24 сата. Величина датотеке дневника ће бити ~150 килобајта.

Start time и End Time. Ако ово није постављено, Монитор ће узимати статистику из наведене базе података све време док ради. Ако је временско ограничење постављено, Монитор ће радити само у одређеном временском периоду.

User name и Password. Корисничко име и лозинка за налог који ће се користити за праћење стања трансакција у бази података. Можете користити SYSDBA пријаву или било коју другу пријаву коју желите. Ако се користи пријава која није SYSDBA, за Services API и Firebird API методе није потребно доделити додатне привилегије за тај кориснички налог. Можете креирати корисника као што је ‘TM’, и Монитор ће успешно радити.

За привремене системске табеле (IB V7.1, V7.5, V2007) корисничка пријава мора имати права читања на TMP$TRANSACTIONS и TMP$DATABASES табелама. Ако користите Embedded User Authentification у вашој InterBase V7.5/V2007 бази података, потребно је да креирате пријаву и доделите та права приступа за ту базу експлицитно.

Test Server Connection дугме.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmconfig2.gif src=/images/ibtm/ibtmconfig2.gif

Омогућава проверу наведеног сервера за најбољи метод праћења трансакција. Такође можете користити ово дугме да проверите да ли изабрани метод ради за наведени сервер.

Visualizer може прегледати информације о трансакцијама које је прикупио Монитор. Основна директоријум за .tmd датотеке се узима из подешавања Configuration Assistant-а.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001.gif src=/images/ibtm/ibtmv001.gif

Са леве стране можете видети листу датотека са статистиком. Подразумевано, Viewer гледа у Log фасциклу која се налази у основној инсталационој фасцикли. Ову фасциклу можете променити коришћењем Configuration Assistant-а, или отворити потребну фасциклу преко Viewer мени опције.

Кликните на датотеку са статистиком - одмах ће бити приказана на графикону. Можете проверити више статистика истовремено притиском на Ctrl или Shift дугме и кликом на датотеке са статистиком:

data-cke-213- data-cke-saved-src=

У доњем левом углу можете укључити и искључити различите линије графикона (Next, Oldest…). На пример, ако желите да видите динамику трансакција, укључите Next динамику - показаће колико је нових трансакција покренуто између IBTM читања из базе података:

data-cke-213- data-cke-saved-src=

Са десне, леве, горње и доње стране графикона постоје посебне линије које можете превлачити (мишем) да проверите када се догађај десио и коју вредност има. Погледајте вертикалну плаву линију на средини графикона и браон хоризонталну линију. Када померате ове линије, одговарајуће ознаке се мењају - вертикалне линије вам омогућавају да покажете на одређено време, хоризонталне линије вам омогућавају да покажете на одређене бројеве трансакција:

data-cke-213- data-cke-saved-src=

Такође можете зумирати или умањити интервал хоризонтално, вертикално или у оба правца. Да вратите графикон у почетно стање, притисните Reset Zoom дугме (или зумирајте мишем у супротном правцу).

data-cke-213- data-cke-saved-src=

Важно! Ако су IBTM статистички подаци прикупљени коришћењем Firebird или InterBase 7.x метода приступа, можете видети стварни број активних трансакција.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv008.gif src=/images/ibtm/ibtmv008.gif

Овај графикон показује да је 10. новембра 2005. било од 65 до 105 активних трансакција, отворених од стране апликација. И, може се видети да је током паузе за ручак (од 13:00 до 14:00) још увек било око 80 активних трансакција. То значи да:

  • корисници не затварају апликације када иду на ручак
  • апликације имају отворене и активне трансакције

Користећи ове информације можете донети одлуке о томе шта можда није у реду у начину на који апликације раде. То ће зависити од тога колико трансакција директно управљају апликације.

Постоје три дугмета која мењају приказ графикона:

Relative (oldest). Израчунава се одузимањем Oldest трансакције или Oldest snapshot-а (која је нижа) од Next и Oldest Active бројева трансакција. Омогућава вам да видите размак полуактивних трансакција гледајући легенду на левој страни графикона. Ево примера претходног графикона са укљученим Relative дугметом:

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv006.gif src=/images/ibtm/ibtmv006.gif

AutoMin. Подразумевано, када отворите било коју IBTM статистичку датотеку, најнижи број трансакције се аутоматски третира као “0”. Нормално, то би била Oldest (занимљива) трансакција или Oldest Snapshot.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001-1.gif src=/images/ibtm/ibtmv001-1.gif

Abs. Омогућава вам да видите ток бројева трансакција и разлику за велике бројеве трансакција. На претходним сликама најнижи број трансакције је био око 7 милиона, што отежава разумевање разлике, на пример, између Oldest и Next трансакција. Овде можемо видети да, за ову статистику, разлика у подацима није била већа од 18000 трансакција.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv007.gif src=/images/ibtm/ibtmv007.gif

Ако желите професионално објашњење понашања трансакција за вашу базу података, вероватно бисте наручили нашу техничку подршку. Прочитајте више о нашим услугама овде.

Такође, слободно нас контактирајте за било каква питања путем имејла [email protected].