1 / 25

Оптимизация скорости работы

Оптимизация скорости работы. Кошкин Алексей Антонович, Руководитель проектов «Центра Информационных Технологий и Консалтинга Парус» koshkin@parus.ru. Тема 10 . Оптимизация скорости работы. Оптимизация -. действия по

colin
Download Presentation

Оптимизация скорости работы

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Оптимизация скорости работы Кошкин Алексей Антонович, Руководитель проектов «Центра Информационных Технологий и Консалтинга Парус» koshkin@parus.ru

  2. Тема 10. Оптимизация скорости работы Оптимизация- действия по • уменьшению потребления ресурсов сервера БД • уменьшению времени отклика пользовательской операции

  3. Тема 10. Оптимизация скорости работы Оптимизация Оптимизация экземпляра (Instance tuning) Оптимизация SQL запросов (SQL tuning) • Изменение параметров БД • Изменение физ. конфигурации • сервера • Изменение планов выполнения • Изменение SQL запросов • Изменение логики обработки

  4. Тема 10. Оптимизация скорости работы Первоначальная конфигурация системы Планирование • подбор конфигурации сервера • настройка параметров ОС (*nix) • настройка параметров экземпляра • тестирование под нагрузкой

  5. Тема 10. Оптимизация скорости работы 1. Подбор конфигурации сервера Планирование • количество пользователей(одновременно работающих с системой) • объем информации хранимой в БД, набор модулей Парус Пример: размер БД для модулей Бухучет и ЗСР ~ 300Gb за 5 лет работы (без учета undo и temp) • количество БД, размещаемых на сервере • вариант резервного копирования + % роста Дисковая подсистема Процессоры Память !

  6. Тема 10. Оптимизация скорости работы 2. Конфигурация дисковой подсистемы Планирование Типы файлов БД

  7. Тема 10. Оптимизация скорости работы 3. Настройка параметров экземпляра Планирование > 10g Общий объем памяти экземпляра = PGA_AGGRIGATE_TARGET SGA_TARGET SGA_MAX_SIZE DB_CACHE_SIZE SHARED_POOL_SIZE JAVA_POOL_SIZE REDO_LOG_BUFFER PGA + SGA

  8. Тема 10. Оптимизация скорости работы 4. Сервис нагрузочного тестирования Планирование • Отдельный сервис в лицензии • Моделирование одновременного и многократно повторяемых процессов • Каждый процесс – последовательность действий в Системе • Используются клиентские процедуры

  9. Тема 10. Оптимизация скорости работы Оптимизация Оптимизация экземпляра (Instance tuning) Оптимизация SQL запросов (SQL tuning) • только при планировании • Добавление нового экземпляра на сервер • Добавление схемы для другого приложения в БД • Ввод процедур, требовательных к ресурсам (закачка/выгрузка данных, jobs, сбор статистики…) • для решения любых оперативных проблем производительности • Запуск отчета/процедуры • Отбор в разделе • Импорт/экспорт • …

  10. Тема 10. Оптимизация скорости работы Для оперативной оптимизации × Оптимизация экземпляра Оптимизация SQL запросов = Начиная от оптимизации экземпляра не всегда можно выйти на нужные пользовательские операции Оптимизация пользовательских операций Начиная от пользовательской операции можно выйти на проблемы экземпляра, связанные с настройкой параметров или изменением конфигурации сервера = Мониторинг экземпляра может помочь предупредить проблемы, увидеть симптомы проблем, дать сигнал к началу работ по оптимизации

  11. Тема 10. Оптимизация скорости работы КОГДА? (нужно ли) Оптимизация SQL запросов Что? Где? Когда? • Вывод годового отчета длится 30мин • Открытие раздела длится 10 секунд • Запуск JOBа приводит к загрузке дисков на 90% = ?

  12. Тема 10. Оптимизация скорости работы ГДЕ?(проводить оптимизацию) Оптимизация SQL запросов Что? Где? Когда? • Клиентское приложение • Сеть • Сервер БД

  13. Тема 10. Оптимизация скорости работы ЧТО?(меняется в результате оптимизации) Оптимизация SQL запросов Что? Где? Когда? • Изменение SQL запроса • Изменение параметров экземпляра • Изменение конфигурации сервера

  14. Тема 10. Оптимизация скорости работы Что нужно знать Оптимизация SQL запросов • Стадии выполнения запроса • Что такое Oracle Optimizer (RBO и CBO) • План (выполнения) запроса • Статистика

  15. Тема 10. Оптимизация скорости работы Начало оптимизации: Порядок действий Оптимизация SQL запросов Система – это набор пользовательских операций Время отклика пользовательской операции – это единственный показатель, представляющий интерес для бизнеса

  16. Тема 10. Оптимизация скорости работы Начало оптимизации: Порядок действий Оптимизация SQL запросов • Определение наиболее значимых пользовательских операции для бизнеса • Точное определение границ • Оценка времени отклика и профиль ресурсов: • SQL trace и tkprof • Profiler • Explain plan • DBMS_MONITOR • Выбор наиболее медленных компонент из профиля

  17. Тема 10. Оптимизация скорости работы Профиль ресурсов Оптимизация SQL запросов Component Duration # Calls Dur/Call --------------------------- ---------------- ------- ---------- CPU service 48,946.7s 98.0% 192,072 0.254835s db file sequential read 940.1s 2.0% 507,385 0.001853s SQL*Net message from client 60.9s 0.0% 191,609 0.000318s latch free 2.2s 0.0% 171 0.012690s other 1.4s 0.0% --------------------------- ---------------- ------- ---------- Total 49,951.3s 100.0% Общее время отклика операции

  18. Тема 10. Оптимизация скорости работы SQL trace Оптимизация SQL запросов ORACLE_HOME/rdbms/admin/tracetab.sql SQL trace файл .trc tkprof Профиль ресурсов

  19. Тема 10. Оптимизация скорости работы SQL trace Оптимизация SQL запросов a) alter session set tracefile_identifier=<xxx>; alter session set events '10046 trace name context forever, level 12';/* code to be traced goes here */ alter session set events '10046 trace name context off'; b) sys.dbms_system.set_sql_trace_in_session( sid=>xxx, serial#=>yyy, sql_trace=>TRUE ); /* code to be traced goes here */ sys.dbms_system.set_sql_trace_in_session( sid=>xxx, serial#=>yyy, sql_trace=>FALSE ); 

  20. Тема 10. Оптимизация скорости работы SQL trace Оптимизация SQL запросов tkprof <файл.trc> <выходной файл профиля> explain=<username>/<pwd> user_dump_dest

  21. Тема 10. Оптимизация скорости работы Профиль ресурсов Оптимизация SQL запросов Средства отладки запросов Component Duration # Calls Dur/Call --------------------------- ---------------- ------- ---------- CPU service 48,946.7s 98.0% 192,072 0.254835s db file sequential read 940.1s 2.0% 507,385 0.001853s SQL*Net message from client 60.9s 0.0% 191,609 0.000318s latch free 2.2s 0.0% 171 0.012690s other 1.4s 0.0% --------------------------- ---------------- ------- ---------- Total 49,951.3s 100.0% Доступны: общий профиль и профиль шагов

  22. Тема 10. Оптимизация скорости работы Profiler Оптимизация SQL запросов ORACLE_HOME/rdbms/admin/profload.sql DBMS_PROFILER

  23. Тема 10. Оптимизация скорости работы Oracle Enterprise Manager Мониторинг > 10g • просматривать состояние экземпляра • выполнять действия по оптимизации • задавать пороговые значения • и автоматическое оповещение • ведет историю

  24. Тема 10. Оптимизация скорости работы Факторы, влияющие на производительность • Версия ПП Парус и Oracle • Сбор статистики • Наличие других приложений на сервере БД • Тип Операционной системы для Парус • Массовая регистрация событий • Наличие собственных индексов • Объем данных в разделе

  25. Тема 10. Оптимизация скорости работы Обновление на новую версию Парус • Оптимизация SQL запросов и логики работы • Переход на новую версию Oracle • дефрагментация данных • Систематизация собственных наработок • Новые возможности Системы

More Related