Пользователь
Логин:
Пароль:
Забыли свой пароль?

Поиск по сайту
 

 Расширенный поиск
Реклама

 

Опрос


Погода

База Данных по SD 4.5

Форумы
Обновления
Поиск
Пользователи 
Правила
Помощь
Войти

Страницы: 1 2 След.
База Данных по SD 4.5
Коллеги всем доброго времени суток.
Предлагаю поделится архитектурой БД:
У нас БД стоит на Oracle 10.2 (виртуальный сервер Linux - 4 процессора, 16 Гб ОЗУ), размер базы составляет 25 Гб. В системе 1,5 мил заявок, столько же Работ, около 0,5 мил KE.
Сталкиваемся с проблемами производительности, причина проблем - низкая производительность выполнения SQL запросов из-за отсутствия индексирования (во многих запросах). Проблему можно решить включением "статистики" в БД Oracle (есть такая фишка). В результате Oracle анализирует архитектуру таблиц и сам находит оптимальный путь исполнения запроса. Но почему то при статистики БД виснет через час (пока не разобрались в чем проблема).
Конкретный пример: если специалист находится в 2 группах, то "События сегодня" (Service Today) отрабатывает за 40 сек., если в одной за 1 сек. Причина в том, что при нескольких группах SQL запрос строится на команде IN в результате индексы не берутся.
Будем дальше "копать" причину зависания при "статистике".
Email record включен?
IN убийца не только для Оракла, но и для других серверов
если 10-й, то должен использоваться драйвер ojdbc14.jar, а он ставиться только после 19 пака. с этим как?
Добрый день.
Email record - включен, без него "тормоза" были такие же.
У нас 23 сервис пак, файл ojdbc14.jar есть в папке lib.
При старте пишет:
Status> JDBC Driver name:Oracle JDBC driver
Status> JDBC Driver version:10.1.0.4.0
Не знаю на сколько Вам это поможет, но мне помогло.
Удалите из таблицы ITSM_EMAILSC максимум записей. «Все что не нужно, весь спам». + я отключил Email record
Вот мои показатели ДО и ПОСЛЕ.
Рисунок
sql2.jpg (223 КБ) [ Скачать ]
Рисунок
sql2_2.jpg (171.01 КБ) [ Скачать ]
1. Под какой Java бегает СД? и для 10-й версии надо заменить у сервера classes12.zip из 23 пака.
2. Виновником тормоза является "To deadline", если оно на вьюшке, то время просто уходит на пересчёт, просто количество рядов больше чем при одной группе. Надо убрать поле с экрана и сделать обновление.

Сделай простой тест: возьми "тормозной" запрос(именно так как это делает СД) и запусти его отдельно в Оракл консоли, сколько времени он будет выполняться без участия СД? тогда будет ясно кто виновник тормоза.
1. Java runtime vendor : Sun Microsystems Inc. Java runtime version: 1.6.0_02-b05
2. Скорость обработки запроса в базе 20 сек, на клиенте 40 сек. При статистике запрос обрабатывается за 1 сек, на клиенте за 2 сек.
3. Email record мы активно используем. До данной фишки такие же тормоза были.

Интересно как работает в РЖД у них объемы колоссальные.

classes12.zip - заменен
Изменено: Евгений Новашов - 14.07.2011 12:11:00
Сколько рядов и сколько полей он читает за 20 с.?
Данный запрос выбирает 20 полей, и 12 записей, но нет разницы в полях т.к. с одним с полем такой же результат (с одним полем ID, система выбирает 5 полей (4 служебных)).
проблема вот в таких строчках (сотрудник в 3 группах):
T10101.prj_ass_wog_oid IN (281980751970332,281980792078337,281489065314750)
T70101.ser_ass_wog_oid IN (281980751970332,281980792078337,281489065314750)
T30101.ass_workgroup IN (281980751970332,281980792078337,281489065314750)
T80101.inc_assign_workgroup IN (281980751970332,281980792078337,281489065314750)

При такой конструкции НО с одним значением запрос отработает за 1 сек.
Изменено: Евгений Новашов - 15.07.2011 06:08:00
12 записей за 20 сек. - это ооочень долго, проблему надо решать начиная с Оракла. Всё может оказаться даже проще чем думается - железо, просто оно не подходит для работы Оракла, проверьте его на совместимость.
Страницы: 1 2 След.