|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
||||||
Неэффективное использование оперативной памяти24.07.2017, 22:48. Показов 1959. Ответов 25
Метки нет (Все метки)
Написал задачу на java. В ней используются postgresql, spring boot, rest. Все просто, надо считать данные из БД фильтруя их с помощью regex - объект с двумя полями айди и имя, и потом в json передать в response. Вот проверив его одной из ошибок стало неэффективное использование оперативной памяти.
Одним из условий является "фильтр обязательно применять в java коде, не использовать возможности sql". Так же в БД по условию более миллиона записей. Что делать чтобы исправить? Контроллер скидывать пока не буду, потому как кажется что проблема на нижних слоях, но если надо выложу сразу. Мой код:
0
|
||||||
| 24.07.2017, 22:48 | |
|
Ответы с готовыми решениями:
25
Лимит оперативной памяти в java Выделение оперативной памяти апплету Использование оперативной памяти (вылетают игры из-за нехватки памяти) |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 24.07.2017, 23:05 | |
|
0
|
|
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
||
| 24.07.2017, 23:21 [ТС] | ||
|
0
|
||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
|
| 25.07.2017, 05:58 | |
Сообщение было отмечено Noxior как решение
Решение
xoraxax, проблему TC это не решает. да, код станет проще и красивей, но TC не использует курсор, а значит данные то все равно все потянутся. в итоге память забъется.
Noxior, используй курсор, раз и два, либо используй limit и offset. кстати можно JPA использовать
1
|
|
| 25.07.2017, 16:31 | |
|
0
|
|
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|
| 25.07.2017, 22:50 [ТС] | |
|
А по сколько лучше вытаскивать из бд postgres если имеется миллионы строк?
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 25.07.2017, 23:22 | |
Сообщение было отмечено Noxior как решение
Решение
1
|
|
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||
| 26.07.2017, 14:41 | ||
|
xoraxax, первый способ как раз с использованием limit и offset, второй на стримах как раз с курсором, через fetch size. я за второй
![]() Добавлено через 4 минуты короче значение вычисляется опытным путем
1
|
||
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|||
| 26.07.2017, 18:14 [ТС] | |||
|
0
|
|||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 26.07.2017, 19:30 | |
|
а как ты определил, что есть "заморочки с памятью"?
1
|
|
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|
| 26.07.2017, 19:39 [ТС] | |
|
xoraxax, когда записей миллионы то память переполняется, поэтому нерационально раньше было
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 26.07.2017, 20:12 | |
|
ну значит, если не переполняется, то все нормально, логично вроде же?
Добавлено через 25 секунд вообще можешь jvisualvm запустить, например
1
|
|
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|||
| 27.07.2017, 00:31 [ТС] | |||
|
0
|
|||
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|
| 27.07.2017, 23:44 [ТС] | |
|
LeX, я читал это) я имел ввиду в контексте моей задачи.правильно ли я думаю что 404 и 200 хватит?
Добавлено через 8 часов 1 минуту up
0
|
|
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
|
| 28.07.2017, 05:04 | |
|
Заводи отдельную тему, к текущему топику вопрос отношения не имеет
0
|
|
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
||||||
| 02.08.2017, 01:31 [ТС] | ||||||
|
LeX, что скажете о таком методе?
0
|
||||||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||
| 02.08.2017, 09:58 | ||
|
Добавлено через 1 минуту а насчет количества - тестируй производительность с разным количеством и выбирай. не скажу много ли это 20000, но я бы взял меньше. к тому же хибер вроде по-умолчанию вообще 50 имеет
0
|
||
|
5 / 5 / 0
Регистрация: 07.06.2009
Сообщений: 171
|
|
| 02.08.2017, 14:18 [ТС] | |
|
LeX, та то небольшой поиск. Интересует вопрос как улучшить производительность, не только тестируя на количество выбранных строк. Так как это метод get, и рест, может кеширование? Но как тогда с памятью?
0
|
|
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||
| 02.08.2017, 14:21 | ||
|
Добавлено через 38 секунд ну и пагинация
0
|
||
| 02.08.2017, 14:21 | |
|
Помогаю со студенческими работами здесь
20
Использование оперативной памяти Использование оперативной памяти Странное использование оперативной памяти Использование оперативной памяти в пустую Использование видеопамяти и оперативной памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|