проблемы с производительностью - PullRequest
1 голос
/ 21 июня 2011

Мы работаем с приложением ASP.NET, и теперь наш трафик сильно увеличился, что привело к снижению времени отклика пользователей Мы оптимизировали приложение и базу данных, но желаемое время ответа не достигнуто. Мы пробовали ASP.NET Cache, но это тоже не помогло. Какие еще варианты я могу попробовать? Я ищу масштабируемое решение, которое сможет обрабатывать больше трафика в будущем.

Ответы [ 3 ]

3 голосов
/ 21 июня 2011

Если проблема в вашей базе данных - тогда вам нужно лучше оптимизировать, улучшить аппаратное обеспечение, анализ базы данных и т. Д.

Если проблема в медленном веб-приложении, вам нужно профилировать и выяснить точно там, где происходит медлительность.Это очень смутный вопрос здесь.Скачайте профиль ANTS или напишите свой собственный вывод трассировки (имхо, муравьи легче) и посмотрите, где замедляется ваше приложение.Это из-за блокировок сеанса, базы данных, запросов linq, выполняющих время и время (например, при вызове query.Count () будет повторять запрос каждый раз) и т. Д.скрипач, чтобы выяснить размер страницы, время до первого байта и т. д.

Это неопределенный вопрос, но это некоторые основные вопросы.

Нам нужна дополнительная информация, но это должно помочь вам начать.

1 голос
/ 10 августа 2011

Сам кэш Asp.net имеет некоторые ограничения и проблемы с производительностью.Это не делает приложение масштабируемым, потому что это внутрипроцессный характер.Однако, если масштабируемость является вашей главной задачей, вам необходимо внедрить распределенное кэширование.Распределенный кэш может обеспечить высокую масштабируемость приложения.По сути, распределенное кеширование в памяти - это форма кеширования, которая позволяет кешу охватывать несколько серверов, увеличивая его размер и пропускную способность.Это также очень масштабируемый из-за своей архитектуры.Он распределяет его по нескольким серверам, но все же дает логическое представление об одном кеше.Я бы скорее предложил вам NCache от имени моего опыта.Подробнее об этом читайте в статье «Повышение производительности и масштабируемости приложений asp.net» .Это вам очень поможет.

0 голосов
/ 21 июня 2011

Я хотел бы подчеркнуть ответ @AdamTuliper в отношении ViewState

У вас может быть много GridView, которые заполняются огромными данными. Попробуйте отключить ViewState, если не требуется. Значение: если пользователь не взаимодействует с видом сетки (выбирая строку, обновляя и т. Д.), Тогда нет необходимости в просмотре сетки между сервером и клиентом.

Если, однако, это не так, то нам потребуется дополнительная информация, чтобы иметь возможность предоставить помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...