|
|
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые! ребята подскажите пожалуйста с увеличением записей в БД приложения начинает подтормаживать... почему я так и не понимаю... З.Ы. используются: технология EJB, БД Oracle 11g XE; Апп сервер Weblogic; сервер виртуальный оперативки 4 гига. от чего может случиться такое? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 08:07 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффар, Ну, вообще так и должно быть. Но если это происходит слишком рано и вы уверены что можно выжать больше, то 1) Недоработаны индексы 2) Неэффектинвые SQL запросы 3) Отсутствует кеширование Для начала стоит проверить что затык именно в БД, а не в Java. Вдруг у вас там цикл по всем записям? Затем найти запросы, которые тормозят. Запустить их отдельно. Посмотреть планы запросов. Почитать best practices, чтобы убедиться что нет явной лажи. Использовать бинарный поиск для уточнения проблемного места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 08:13 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну все летало до 2000 записей а после уже начался этот ужас... а это уже не нормально т.к. 2000 записей это вообще ничего... автор1) Недоработаны индексы может и так, а PK по умолчанию не использует индексы? (вроде по умолчанию индексы создаются же...) автор2) Неэффектинвые SQL запросызапросы обычные "EJBQL" и примерно вот такие: Код: plsql 1. автор3) Отсутствует кеширование вот сюда я ещё не смотрел может быть... авторВдруг у вас там цикл по всем записям? кстати вполне вероятно, а как это проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 08:38 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффара PK по умолчанию не использует индексы? Код: plsql 1. У вас идёт поиск по currentData и idgroup. БД сканирует все записи чтобы найти совпадения. Значит для этих полей тоже нужен индекс, чтобы ускорить поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 08:52 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарот чего может случиться такое? Не знаю как в этом разделе, но в разделе, где обсуждаются вопросы производительности базы, принято выкладывать DDL (структуру БД, в т.ч. и индексы) и SQL (в т.ч. и планы запросов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 09:16 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz У вас идёт поиск по currentData и idgroup. БД сканирует все записи чтобы найти совпадения. Значит для этих полей тоже нужен индекс, чтобы ускорить поиск.[/quot] т.е. всех атрибутов поиска я должен создать индексацию? я правильно понял? wadmanНе знаю как в этом разделе, но в разделе, где обсуждаются вопросы производительности базы, принято выкладывать DDL (структуру БД, в т.ч. и индексы) и SQL (в т.ч. и планы запросов). я могу вложит, если надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 09:24 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарребята подскажите пожалуйста с увеличением записей в БД приложения начинает подтормаживать... почему я так и не понимаю... З.Ы. используются: технология EJB, БД Oracle 11g XE; Апп сервер Weblogic; сервер виртуальный оперативки 4 гига. от чего может случиться такое? Включаешь showSql в настройках хибернейта и смотришь реальные запросы. После этого смотришь планы запросов и решаешь, чего не хватает (с помощью профильной конференции , только учти, что там народ гораздо более язвительный, за тупые вопросы заклюют быстро). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 09:26 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарт.е. всех атрибутов поиска я должен создать индексацию? я правильно понял? В общем случае, да. И может почитать какие-то вводные статьи по созданию и проектированию БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 09:47 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Странно что на после 2000 записей тормозит. Я на postgres за правило беру что sequenece scan до 100000 это нормально. Как то сильно не ощущается особенно после прогрева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 09:56 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
llemingСтранно что на после 2000 записей тормозит. Я на postgres за правило беру что sequenece scan до 100000 это нормально. Как то сильно не ощущается особенно после прогрева. Да, кто его знает что там на самом деле. Может вообще N+1. Распространенная ошибка в ORM. Надо смотреть тайминги в SQL логе чтобы понять что именно отжирает время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 10:09 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Может вообще N+1. Распространенная ошибка в ORM. Надо смотреть тайминги в SQL логе чтобы понять что именно отжирает время. если можно как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 11:00 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффаресли можно как? Вот так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 11:09 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМузаффаресли можно как? Вот так спасибо! пойду разобраться кстати добавил индексы по поисковым параметрам никакой изменений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 11:22 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
МузаффарBlazkowiczпропущено... Вот так спасибо! пойду разобраться кстати добавил индексы по поисковым параметрам никакой изменений... Тут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 12:15 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
0FDТут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов. на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 14:07 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффар0FDТут наверное при построении плана сказываются ограничения в XE по CPU, памяти и тд, можно попробовать повлиять с помощью хинтов. на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 14:35 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
llemingМузаффарпропущено... на счет ограничений да я в курсе но 2000 записи это же вообще не критична же... т.к. там вроде до 10гигов можно Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :) я это и говорю что даже 20 000 записи это вообще можно считать ничего но даже у меня после 2000 начинается тормоза... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 14:47 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарllemingпропущено... Выборка из таблицы где хранится 2000 записей некритично, а из таблицы выбрать 2000 записей из 40000000 то наверное критично :) я это и говорю что даже 20 000 записи это вообще можно считать ничего но даже у меня после 2000 начинается тормоза... после того как кол-во записей в таблице переваливает за 2000 или после того как нужно отобрать более 2000 записей из таблицы которая содержит 400000000 записей? тут вариантов несколько, без схемы БД и запросов только гадаем (Насколько линейно возрастает время отработки запроса в зависимости от кол-ва записей, На каких запросах тормозит БД.) Может у вас в таблице Abiturients, есть поле blob которое фетчится и весит оно так ого го, что это не БД тормозит а пока по сетке все данные БД передаст занимает время. Это же несложно включить логирование sql запросов, отловить медленный запрос, подключиться к БД и посмотреть план запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 15:28 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффаркстати добавил индексы по поисковым параметрам никакой изменений... 1. Запросы реальные посмотрел? 2. План посмотрел? 3. Не помогло? А статистику по таблице пересобрал? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2015, 15:47 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
походу дело не в БД а в моем программе... вообщем так: включил в persistence.xml добавил профайлер со значением QueryMonitor и получил вот такую картину и появились некоторые вопросы, о чем эти цифры говорят? сам подозреваю что в некоторых запросах происходит цикл по записям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 07:08 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарпоходу дело не в БД а в моем программе... Впечатление, что сама Программа с большой буквы не твоя. Программа состоит из страничек наверно? На какой тормозит? На каком юз-кейсе? Hello World при выводе из БД тормозит? Где лог вывода времени в узком месте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:15 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарпоходу дело не в БД а в моем программе... вообщем так: включил в persistence.xml добавил профайлер со значением QueryMonitor и получил вот такую картину и появились некоторые вопросы, о чем эти цифры говорят? сам подозреваю что в некоторых запросах происходит цикл по записям? Похоже я угадал Google -> ORM N+1 problem ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:25 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Petro123Впечатление, что сама Программа с большой буквы не твоя. вот тут могу поспорит!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:36 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Petro123, если человек пишет свой код и при возникновении вопросов или трудности обращается сюда, то по Вашему человек не пишет свой код? и не имеет право назвать эту прогу своим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:42 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
МузаффарPetro123Впечатление, что сама Программа с большой буквы не твоя. вот тут могу поспорит!!! взял попкорн) "Тормозит программа" у программиста, звучит как "не едет машина" у механика. Уж извини. На 2х штуках записей ключи не ставят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39005991&tid=2125163]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 422ms |

| 0 / 0 |
