Назад | Перейти на главную страницу

Проблема производительности веб-приложения

У меня есть сайт, который зависает каждые 5 или 10 запросов. Когда он работает, он работает быстро, но если вы оставите браузер на пару минут, а затем щелкните ссылку, он просто зависнет, не отвечая. Пользователь должен несколько раз нажать кнопку обновления в браузере, а затем он снова запустится быстро.

Я использую .NET 3.5, ASP.NET MVC 1.0 на IIS 7.0 (Windows Server 2008). Веб-приложение подключается к базе данных SQLServer 2005, которая работает локально в том же экземпляре. БД имеет около 300 мегабайт оперативной памяти, а остальная часть, как я полагаю, бесплатна для веб-запросов.

Он размещен на облачных серверах GoGrid, и этот экземпляр имеет 1 ГБ ОЗУ и 1 ядро. Я понимаю, что это немного, но в настоящее время я единственный, кто пользуется сайтом, и все еще получаю эти зависания.

Я знаю, что это сложная задача для устранения неполадок, но я надеялся, что кто-то может указать мне правильное направление относительно возможных проблем конфигурации IIS или того, какие «приблизительные» средние требования к оборудованию будут при использовании этих технологий на 1000 пользователей и т. Д. для веб-сервера у меня должен быть минимум 2 ядра, так что если он занят, вы все равно получите ответ. Или, может быть, люди со слэшдотами правы, и я идиот из-за использования периода Windows, смеется. Однако, по моему опыту, это обычно МОЙ алгоритм / ошибка конфигурации, а не ошибка базовой технологии.

Любые идеи приветствуются.

Как указал Джим Б., перед развертыванием вы должны были протестировать в своей ЛАБОРАТОРИИ. Проверьте следующее

  1. IIS - убедитесь, что у приложения есть собственное пространство процесса приложения.

  2. Проверьте состояние вашей сессии в asp.net.

  3. Проверьте соединение между приложением (IIS) и БД, возможно, облачное соединение разорвано.

  4. Вы можете видеть журналы событий IIS? Взгляни на это.

Вы пробовали запустить приложение на реальном сервере, чтобы посмотреть, зависает ли оно там? Я бы заподозрил платформу «облачных» вычислений, прежде чем подумать, что ваше приложение или ОС является проблемой. Почему вы говорите, что у SQl 300 МБ оперативной памяти = - это то, что он использует? В ваших спецификациях указано, что у вас есть сервер с 1 ГБ оперативной памяти.

Судя по предоставленной информации, наиболее вероятной проблемой является одно ядро ​​виртуальной машины, поскольку вы используете веб-сервер и базу данных в системе. Если ваша хостинговая компания позволяет добавлять / удалять ядра, добавьте второе ядро ​​и снова проверьте свою производительность.