2008-09-18 1 views
5

Я работаю над предложением клиента, и им необходимо будет обновить свою сетевую инфраструктуру для поддержки размещения приложения ASP.NET. По сути, мне нужно оценить пиковое использование для системы с известным количеством пользователей (в настоящее время 250). Простой ответ вроде «вам понадобится выделенная линия T1», вероятно, будет достаточно, но я хотел бы иметь данные для его резервного копирования.Каков наиболее точный метод оценки требований к максимальной пропускной способности для веб-приложения?

Another question ссылка NetLimiter, которая выглядит довольно гладко, чтобы получить представление о том, что используется.

Моя общая мысль заключается в том, что я буду запускать веб-приложение и использовать систему, как я бы предвидел, что она будет использоваться у клиента, действительно в неспешном темпе, за определенный промежуток времени, а затем умножить использование полосы пропускания по количеству пользователей и разделить на время.

Это не кажется очень научным. Это может быть достаточно хорошо для предложения, но я хотел бы посмотреть, есть ли лучший способ.

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

Платформа Windows/ASP.NET, и приложение размещено в SharePoint (MOSS 2007).

ответ

3

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

N = количество просмотров страниц в бойком час Р = Среднее Размер страницы

(N * P)/3600) = Среднее трафика в секунду.

У сервера будет гораздо больше внутреннего трафика, возможно, для сервера db/NAS/etc. Но внешний вид, который должен дать вам очень приблизительную идею об использовании. Очевидно, вам нужно будет значительно превысить вышеуказанное значение, так как вы никогда не хотите использовать его на 100% и разрешить другой трафик.

Я также не предлагаю использовать произвольное число, например, 250 пользователей. Используйте самый тяжелый день производства в день. Двойной и тройной, если хотите, но это даст вам ожидаемое распределение поведения пользователя, если у вас есть хорошие файлы журналов/аудит пользователей. Это поможет сделать вашу точку зрения более точной.

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

+1

Чтобы перейти от средних оценок дорожного движения к планированию мощности при загрузке, см. Замечательные заметки Чарли Мартина об этом комментарии: http://stackoverflow.com/questions/379478/whats-the-best-way-to-determine-the -Аппаратное-требования-к-к-приложения/379543 ​​# 379543 –

3

Существует несколько дополнительных вопросов, которые необходимо задать здесь.

Общее количество пользователей: 250 человек или 250 пользователей одновременно? Если одновременно, то это 250 пиков, или 250 типично? Если это всего 250 пользователей, все они должны использовать его одновременно (например, сайт интрасети, где люди должны использовать его как часть своей работы), или это скорее сайт сообщества, где они могут или не могут используй это? Я предполагаю, что вы заявили, что это всего 250 пользователей, но это все еще недостаточно говорит о сайте, чтобы сделать оценку.

Если это сообщество или «нормальный» интернет-сайт, это также будет зависеть от использования - например, люди действительно будут интенсивно использовать это, или это то, что некоторые пользователи будут просто входить в систему один раз, а затем забыть? Это может быть сложным вопросом с вашей точки зрения, поскольку вы захотите принять первое, но если вы тратите много денег на сетевую инфраструктуру, и никто не сможет ее использовать, это может быть очень плохо.

Что делает сайт? На нижнем конце спектра есть «типичное» веб-приложение, где у вас есть разумные размеры (скажем, 1-2k) страниц и несколько изображений. Чуть более интенсивным является сайт с большим количеством носителей - например, просмотр изображений в стиле flickr. На верхнем конце находится сайт с большим количеством загрузок - потоковое видео или просто загружаемые большие файлы или наборы данных.

Это немного выходит за порог вашего вопроса, но еще одна вещь, на которую стоит обратить внимание - это будущее сайта: возможно ли использование удвоения в следующем году или месяце? Будьте осторожны с заключением долгосрочного контракта с чем-то вроде подключения T1 или оптоволокна, без какого-либо способа обновления.

Другой вопрос - надежность - вам нужна избыточность в соединениях? Это может стоить очень дорого, но есть способы сделать многопользовательские соединения, где вы можете сбалансировать доступ по нескольким ссылкам, а затем просто использовать один (пусть и с уменьшенной мощностью) в случае сбоя.

Еще одна возможность рассмотреть, которая эффективно позволяет полностью избежать всего этого вопроса - просто разместить приложение в центре обработки данных.Вы платите относительно небольшую ежемесячную плату (низкая по сравнению с затратами на выделенное высококачественное соединение), и вы получаете столько же полосы пропускания, сколько вам нужно (например, большинство планов хостинга даст вам что-то вроде переноса 500 ГБ в месяц, чтобы начать с - и некоторые просто дадут вам неограниченное количество). Центр обработки данных также будет более надежным, чем все, что вы можете построить (за исключением вашего собственного центра данных с цифрами 6+), поскольку они имеют избыточный доступ в Интернет, резервное копирование питания, резервированное охлаждение, противопожарную защиту, физическую защиту .. и у них есть люди, которые управляют всеми из этого для вас, поэтому вам никогда не придется иметь дело с этим.

Смежные вопросы