Измерение производительности ASP.NET на размещенной платформе - PullRequest
1 голос
/ 17 февраля 2009

У меня большой веб-сайт ASP.NET на хостинговой платформе. Он разделяет машину со многими другими приложениями. У нас нет доступа к самой машине (только учетная запись FTP).

Наш клиент жалуется, что он начинает работать довольно плохо, особенно в часы пик. Я провел некоторые дистанционные измерения (используя инструмент, похожий на JMeter), который говорит мне, что да, он действительно работает довольно плохо в часы пик. Это не говорит мне, почему, хотя. Клиент сопротивляется переходу на выделенный сервер без каких-либо серьезных фактов.

На мой взгляд, мне нужны точные данные о самой машине. Настройка локальной среды тестирования производительности будет очень трудоемкой, и у меня нет возможности оценить производительность сервера.

Мой вопрос : есть ли хороший способ для сбора (большого количества) показателей производительности, когда у меня ограниченный доступ к машине и, конечно, нет доступа к монитору производительности? Любой код должен был бы запускаться в самом приложении asp.net, без лишних проблем.

1 Ответ

1 голос
/ 17 февраля 2009

У нас была похожая проблема с нашим приложением asp.net, размещенным на общем сервере, которое также начало работать плохо в часы пик.

Хотя я не знаю элегантного решения вашего вопроса, вот что мы сделали:

  1. Поговорите с хост-провайдерами, чтобы узнать, какую дополнительную информацию они могут вам предоставить - в их интересах, чтобы их клиенты были довольны. Наши хост-провайдеры смогли уделить нам некоторое время вместе с одним из своих сетевых инженеров, который предоставил нам некоторую приличную статистику использования ЦП и памяти.

  2. Выполните свои собственные измерения производительности, выгружая информацию в файл журнала (используя log4net ) и / или в базу данных - например, пользовательские сеансы, время поиска, попадания на страницы, измерения времени вокруг. ключевая функциональность. Из этой информации мы смогли выяснить, каково было нормальное поведение наших систем для заданного числа тестов автоматизации.

  3. Настройте локальный сервер (не обязательно такой же, как у размещенного / рабочего сервера) с загруженным приложением и проведите полное тестирование нагрузки / производительности / емкости (мы использовали ANTS Profiler от Red Gate) , Полученные вами статистические данные дадут вам и вашему клиенту хорошее представление о том, как система должна вести себя при определенных нагрузках в известной среде. Да, это может занять много времени, но даст вам отличный инструмент для измерения производительности, так что вы сможете обнаруживать / устранять узкие места локально, а не на производстве.

Удачи.

...