Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / С увеличением объема данных в БД начинается проблемы / 25 сообщений из 39, страница 1 из 2
13.07.2015, 08:07
    #39005540
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Здравствуйте, уважаемые!
ребята подскажите пожалуйста с увеличением записей в БД приложения начинает подтормаживать... почему я так и не понимаю...
З.Ы. используются: технология EJB, БД Oracle 11g XE; Апп сервер Weblogic; сервер виртуальный оперативки 4 гига.

от чего может случиться такое?

Заранее спасибо!
...
Рейтинг: 0 / 0
13.07.2015, 08:13
    #39005544
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффар,

Ну, вообще так и должно быть. Но если это происходит слишком рано и вы уверены что можно выжать больше, то
1) Недоработаны индексы
2) Неэффектинвые SQL запросы
3) Отсутствует кеширование

Для начала стоит проверить что затык именно в БД, а не в Java. Вдруг у вас там цикл по всем записям?
Затем найти запросы, которые тормозят. Запустить их отдельно. Посмотреть планы запросов.

Почитать best practices, чтобы убедиться что нет явной лажи.

Использовать бинарный поиск для уточнения проблемного места.
...
Рейтинг: 0 / 0
13.07.2015, 08:38
    #39005552
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Blazkowicz,

ну все летало до 2000 записей а после уже начался этот ужас... а это уже не нормально т.к. 2000 записей это вообще ничего...
автор1) Недоработаны индексы может и так, а PK по умолчанию не использует индексы? (вроде по умолчанию индексы создаются же...)
автор2) Неэффектинвые SQL запросызапросы обычные "EJBQL" и примерно вот такие:
Код: plsql
1.
select a from Abiturients a WHERE a.currentData=:currentData AND a.groups.idgroup = :idgroup



автор3) Отсутствует кеширование вот сюда я ещё не смотрел может быть...

авторВдруг у вас там цикл по всем записям? кстати вполне вероятно, а как это проверить?
...
Рейтинг: 0 / 0
13.07.2015, 08:52
    #39005559
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффара PK по умолчанию не использует индексы?
Код: plsql
1.
select a from Abiturients a WHERE a.currentData=:currentData AND a.groups.idgroup = :idgroup


У вас идёт поиск по currentData и idgroup. БД сканирует все записи чтобы найти совпадения. Значит для этих полей тоже нужен индекс, чтобы ускорить поиск.
...
Рейтинг: 0 / 0
13.07.2015, 09:16
    #39005574
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарот чего может случиться такое?
Не знаю как в этом разделе, но в разделе, где обсуждаются вопросы производительности базы, принято выкладывать DDL (структуру БД, в т.ч. и индексы) и SQL (в т.ч. и планы запросов).
...
Рейтинг: 0 / 0
13.07.2015, 09:24
    #39005586
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Blazkowicz
У вас идёт поиск по currentData и idgroup. БД сканирует все записи чтобы найти совпадения. Значит для этих полей тоже нужен индекс, чтобы ускорить поиск.[/quot]
т.е. всех атрибутов поиска я должен создать индексацию? я правильно понял?

wadmanНе знаю как в этом разделе, но в разделе, где обсуждаются вопросы производительности базы, принято выкладывать DDL (структуру БД, в т.ч. и индексы) и SQL (в т.ч. и планы запросов).
я могу вложит, если надо...
...
Рейтинг: 0 / 0
13.07.2015, 09:26
    #39005590
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарребята подскажите пожалуйста с увеличением записей в БД приложения начинает подтормаживать... почему я так и не понимаю...
З.Ы. используются: технология EJB, БД Oracle 11g XE; Апп сервер Weblogic; сервер виртуальный оперативки 4 гига.

от чего может случиться такое?

Включаешь showSql в настройках хибернейта и смотришь реальные запросы.
После этого смотришь планы запросов и решаешь, чего не хватает (с помощью профильной конференции , только учти, что там народ гораздо более язвительный, за тупые вопросы заклюют быстро).
...
Рейтинг: 0 / 0
13.07.2015, 09:47
    #39005617
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарт.е. всех атрибутов поиска я должен создать индексацию? я правильно понял?

В общем случае, да. И может почитать какие-то вводные статьи по созданию и проектированию БД?
...
Рейтинг: 0 / 0
13.07.2015, 09:56
    #39005624
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Странно что на после 2000 записей тормозит. Я на postgres за правило беру что sequenece scan до 100000 это нормально. Как то сильно не ощущается особенно после прогрева.
...
Рейтинг: 0 / 0
13.07.2015, 10:09
    #39005640
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
llemingСтранно что на после 2000 записей тормозит. Я на postgres за правило беру что sequenece scan до 100000 это нормально. Как то сильно не ощущается особенно после прогрева.
Да, кто его знает что там на самом деле. Может вообще N+1. Распространенная ошибка в ORM. Надо смотреть тайминги в SQL логе чтобы понять что именно отжирает время.
...
Рейтинг: 0 / 0
13.07.2015, 11:00
    #39005691
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Blazkowicz Может вообще N+1. Распространенная ошибка в ORM. Надо смотреть тайминги в SQL логе чтобы понять что именно отжирает время.
если можно как?
...
Рейтинг: 0 / 0
13.07.2015, 11:09
    #39005703
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффаресли можно как?
Вот так
...
Рейтинг: 0 / 0
13.07.2015, 11:22
    #39005718
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
BlazkowiczМузаффаресли можно как?
Вот так
спасибо! пойду разобраться
кстати добавил индексы по поисковым параметрам никакой изменений...
...
Рейтинг: 0 / 0
13.07.2015, 12:15
    #39005796
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
МузаффарBlazkowiczпропущено...

Вот так
спасибо! пойду разобраться
кстати добавил индексы по поисковым параметрам никакой изменений...

Тут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов.
...
Рейтинг: 0 / 0
13.07.2015, 14:07
    #39005951
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
0FDТут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов.
на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно
...
Рейтинг: 0 / 0
13.07.2015, 14:35
    #39005981
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффар0FDТут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов.
на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно

Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :)
...
Рейтинг: 0 / 0
13.07.2015, 14:47
    #39005991
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
llemingМузаффарпропущено...

на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно

Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :)

я это и говорю что даже 20 000 записи это вообще можно считать ничего но даже у меня после 2000 начинается тормоза...
...
Рейтинг: 0 / 0
13.07.2015, 15:28
    #39006050
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарllemingпропущено...


Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :)

я это и говорю что даже 20 000 записи это вообще можно считать ничего но даже у меня после 2000 начинается тормоза...

после того как кол-во записей в таблице переваливает за 2000 или после того как нужно отобрать более 2000 записей из таблицы которая содержит 400000000 записей?

тут вариантов несколько, без схемы БД и запросов только гадаем (Насколько линейно возрастает время отработки запроса в зависимости от кол-ва записей, На каких запросах тормозит БД.)

Может у вас в таблице Abiturients, есть поле blob которое фетчится и весит оно так ого го, что это не БД тормозит а пока по сетке все данные БД передаст занимает время.

Это же несложно включить логирование sql запросов, отловить медленный запрос, подключиться к БД и посмотреть план запроса
...
Рейтинг: 0 / 0
13.07.2015, 15:47
    #39006080
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффаркстати добавил индексы по поисковым параметрам никакой изменений...

1. Запросы реальные посмотрел?
2. План посмотрел?
3. Не помогло? А статистику по таблице пересобрал? ;)
...
Рейтинг: 0 / 0
14.07.2015, 07:08
    #39006485
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
походу дело не в БД а в моем программе...
вообщем так: включил в persistence.xml добавил профайлер со значением QueryMonitor
и получил вот такую картину и появились некоторые вопросы, о чем эти цифры говорят? сам подозреваю что в некоторых запросах происходит цикл по записям?
...
Рейтинг: 0 / 0
14.07.2015, 09:15
    #39006558
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарпоходу дело не в БД а в моем программе...
Впечатление, что сама Программа с большой буквы не твоя.
Программа состоит из страничек наверно? На какой тормозит?
На каком юз-кейсе?
Hello World при выводе из БД тормозит?
Где лог вывода времени в узком месте?
...
Рейтинг: 0 / 0
14.07.2015, 09:25
    #39006576
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Музаффарпоходу дело не в БД а в моем программе...
вообщем так: включил в persistence.xml добавил профайлер со значением QueryMonitor
и получил вот такую картину и появились некоторые вопросы, о чем эти цифры говорят? сам подозреваю что в некоторых запросах происходит цикл по записям?
Похоже я угадал
Google -> ORM N+1 problem
...
Рейтинг: 0 / 0
14.07.2015, 09:36
    #39006599
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Petro123Впечатление, что сама Программа с большой буквы не твоя.
вот тут могу поспорит!!!
...
Рейтинг: 0 / 0
14.07.2015, 09:42
    #39006608
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
Petro123,

если человек пишет свой код и при возникновении вопросов или трудности обращается сюда, то по Вашему человек не пишет свой код? и не имеет право назвать эту прогу своим?
...
Рейтинг: 0 / 0
14.07.2015, 09:42
    #39006609
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С увеличением объема данных в БД начинается проблемы
МузаффарPetro123Впечатление, что сама Программа с большой буквы не твоя.
вот тут могу поспорит!!!
взял попкорн)
"Тормозит программа" у программиста, звучит как "не едет машина" у механика.
Уж извини.
На 2х штуках записей ключи не ставят.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / С увеличением объема данных в БД начинается проблемы / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]