Задание 4.2: тюнинг Spin Lock Retries
В этом задании необходимо выполнить мониторинг параметра старта базы данных Spin Lock Retries (-spin), определить степень его влияния на производительность базы данных ATM и изменить его значение.
Мониторинг Latch timeouts в базе данных ATM с помощью PROMON.
Запустите PROMON с подключением к базе данных ATM:
promon atm
В поле Enter your selection введите R&D и нажмите клавишу Enter для перехода к расширенному меню.
1. User Control 2. Locking and Waiting Statistics 3. Block Access 4. Record Locking Table 5. Activity 6. Shared Resources 7. Database Status 8. Shut Down Database 9. Currently Connected Tenants R&D. Advanced options T. 2PC Transactions Control L. Resolve 2PC Limbo Transactions C. 2PC Coordinator Information J. Resolve JTA Transactions M. Modify Defaults Q. Quit Enter your selection: R&D
В меню Main (Top) Menu введите цифру 3 (Other Displays) и нажмите клавишу Enter.
Main (Top) Menu 1. Status Displays ... 2. Activity Displays ... 3. Other Displays ... 4. Administrative Functions ... 5. Adjust Monitor Options 6. Advanced R&D ... Enter a number, <return>, P, T, or X (? for help): 3
В меню Other Displays введите цифру 1 (Performance Indicators) и нажмите клавишу Enter.
Other Displays Menu 1. Performance Indicators 2. I/O Operations by Process 3. Lock Requests By User 4. Checkpoints 5. I/O Operations by User by Table 6. I/O Operations by User by Index 7. Total Locks per User 8. I/O Operations by User by Lob Enter a number, <return>, P, T, or X (? for help): 1
Посмотрите на строку Latch timeouts:
Total Per Min Per Sec Per Tx Commits 345350 5095 84.92 1.00 Undos 0 0 0.00 0.00 Index operations 1422993 20993 349.89 4.12 Record operations 2442415 36033 600.54 7.07 Total o/s i/o 733232 10817 180.29 2.12 Total o/s reads 391398 5774 96.24 1.13 Total o/s writes 341834 5043 84.05 0.99 Background o/s writes 148457 2190 36.50 0.43 Partial log writes 1298 19 0.32 0.00 Database extends 0 0 0.00 0.00 Total waits 77347 1141 19.02 0.22 Lock waits 13986 206 3.44 0.04 Resource waits 63361 935 15.58 0.18 Latch timeouts 18615 275 49.70 1.33
Откройте Excel-файл «ATM performance tuning.xls» и запишите значение столбца Per Sec метрики Latch timeouts с экрана PROMON в строку Latch timeouts per second в файле Excel.
В PROMON введите z для обнуления счётчиков.
В PROMON введите p для выхода в меню Other Displays, затем ещё раз введите p для выхода в меню Main (Top) Menu.
1. Status Displays ... 2. Activity Displays ... 3. Other Displays ... 4. Administrative Functions ... 5. Adjust Monitor Options
Введите цифру 4 и нажмите клавишу Enter для перехода в меню Administrative Functions.
1. Check Active Transaction Status 2. Check Two-Phase Transactions 3. Resolve Limbo Transactions 4. Adjust Latch Options 5. Adjust Page Writer Options 6. Restricted Options 7. Server Options
В меню Administrative Functions введите цифру 4 и нажмите клавишу Enter для перехода в меню Adjust Latch Options.
1. Spins before timeout: 24000 2. Enable latch activity data collection 3. Enable latch timing data collection 4. Initial latch sleep time: 10 milliseconds 5. Maximum latch sleep time: 250 milliseconds 6. Record Free Chain Search Depth Factor: 5 7. Enable LRU2 alternate buffer pool replacement policy 8. Adjust LRU force skips: 100 9. Adjust LRU2 force skips: 100 10. Adjust PICA queue nap time: 1 ms
Введите цифру 1 и нажмите клавишу Enter для выбора пункта меню Spins before timeout.
В поле Enter spins before timeout (1 to 9999999) введите значение 10 000 и нажмите клавишу Enter. Будет установлено новое значение параметра старта Spin Lock Retries (-spin).
Enter spins before timeout (1 to 9999999): 10000
Вернитесь в меню Main (Top) Menu (используйте p и Enter). Не выходите из PROMON.
Перейдите к экрану 3. Other Displays -> 1. Performance Indicators. Обнулите значения метрик на экране клавишей z.
Откройте второе окно Proenv и перейдите в каталог atm/db/
Выполните скрипте go.bat и дождитесь завершения его работы.
После завершения работы теста вернитесь в PROMON и на экране 3. Other Displays -> 1. Performance Indicators клавишей u обновите значения метрик. Изменилось ли значение Latch timeouts per second?
Откройте журналы lastrun.log и summary.log. Изменилось ли значение tps по отношению к предыдущем тесту? В случае улучшения производительности количество транзакций в секунду увеличится.
Внесите новое значение Transaction per second (tps), Latch timeouts per second и Spin Lock Retries в Excel-файл. Пример:
Примечание: если производительность не улучшилась, то необходимо уменьшить или увеличить значение параметра старта Spin Lock Retries (-spin) и повторить тест.
Дополнительное задание.
Выполните ATM-тест с различными значениями параметра старта Spin Lock Retries (-spin), изменяя его в большую и меньшую сторону. Понаблюдайте за изменением значений метрик Transaction per second (tps) в журналах ATM-теста и Latch timeouts per second в PROMON.
Совет: С каждым новым значением параметра выполняйте ATM-тест несколько раз (5 – 10 раз). Это позволит получить более точные значения наблюдаемых метрик (минимальное, максимальное, среднее).