Страница 1 из 1

Большой расход памяти при построении Cross Tab отчетов

Добавлено: 04 ноя 2013, 11:50
kirill.baryshnikov
Уважаемые коллеги, в проекте столкнулись со следующей проблемой.
У нас есть кросс-таб отчеты. Сами sql запросы (Microsoft Sql Server) отрабатывают быстро - 3-5 секунд.
Построение же кросс-таб отчета занимает около 20 секунд (возможно связано с тем, что он дополняет недостающие строки). При этом также просто жутко расходуется память в процессе IIS (w3wp.exe) - 300-400 Мб на отчет. Данный процесс отображается как 32 битный, хотя ОС - Windows Server 2008 R2
Если отчет запускается 10 пользователями - то в процессе IIS доходит в использовании памяти до 2 Гб, после чего все новые отчеты "отваливаются" с ошибкой: "Таймаут при формировании отчета".

Вопрос следующий: каким образом можно сократить использование памяти? И как выводить понятное для пользователя сообщения в случае такого сбоя?

Re: Большой расход памяти при построении Cross Tab отчетов

Добавлено: 04 ноя 2013, 13:24
HighAley
Здравствуйте.
kirill.baryshnikov писал(а):Вопрос следующий: каким образом можно сократить использование памяти? И как выводить понятное для пользователя сообщения в случае такого сбоя?
Для ответа на вопрос с использованием памяти нам необходимо воспроизвести вашу ситуацию. Пришлите рабочий пример с тестовыми данными.
kirill.baryshnikov писал(а):(w3wp.exe) - 300-400 Мб на отчет. Данный процесс отображается как 32 битный, хотя ОС - Windows Server 2008 R2
Наши сборки компилируются с параметром Any CPU и битность процесса зависит от вашего приложения. Проверьте настройки вашего проекта.
kirill.baryshnikov писал(а):Если отчет запускается 10 пользователями - то в процессе IIS доходит в использовании памяти до 2 Гб, после чего все новые отчеты "отваливаются" с ошибкой: "Таймаут при формировании отчета".
Обработка обращений от нескольких пользователей лежит на разработчике. Мы не можем контролировать этот процесс.

Мы заканчиваем разработку репорт-сервера, где уже будет доступен необходимый вам функционал.

Спасибо.