Соображения по дизайну для поддержки около 400+ одновременных пользователей в веб-приложении

Я нахожусь в начале проекта asp.net c # среднего размера, и у меня есть требования к производительности приложения, чтобы иметь возможность поддерживать около 400+ одновременных пользователей.

Какие вещи мне нужно иметь в виду при разработке приложения, чтобы оно соответствовало таким стандартам производительности и доступности? Страницу нужно обслужить менее чем за 5 секунд. Я планирую разместить приложение и базу данных на отдельных физических машинах.С точки зрения кодирования и многоуровневого приложения: -

  • Если уровень базы данных будет открыт для уровня приложения через службу WCF, будет ли это снижать производительность? Должен ли я использовать вместо этого прямое TCP-соединение ?
  • Будет ли иметь значение, использую ли я Entity framework или какой-либо другой ORM, или блок данных корпоративной библиотеки?
  • Должен ли я регистрировать исключения в базе данных или текстовом файле ?
  • Как во время разработки проверить, будет ли создаваемый код в конечном итоге соответствовать этим стандартам производительности? Или это вообще то, о чем мне нужно беспокоиться на этапе разработки?
  • Нужно ли мне помещать код подключения к базе данных и другие классы, содержащие данные поиска, которые редко меняют в течение всего срока службы приложения, в статических классах, чтобы он был доступен в течение всего срока службы приложения?
  • Какую политику кэширования мне следует применять?
  • Какие бесплатные инструменты я могу использовать для измерения и тестирования производительности? Я знаю редкие инструменты измерения производительности, но у них высокая стоимость лицензии, поэтому я бы предпочел бесплатные инструменты.

Прошу прощения, если этот вопрос слишком открытый. Есть какие-нибудь советы или мысли о том, как мне поступить?

Спасибо за ваше время.

7
задан user20358 14 October 2011 в 08:21
поделиться