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

Классические приложения ASP на IIS закрываются, когда использование памяти превышает 90%

У меня проблема, когда все классические ASP приложения на IIS выключение, когда загруженный сервер превышает 90% использования памяти. Это потому что ASP приложения больше не могут создавать новые сеансы.

В ASP.NET приложения не подвержены этой проблеме и работают нормально.

Есть ли способ решения этой проблемы (ожидайте добавления оперативной памяти на сервер)?

Если вы не хотите увеличивать объем оперативной памяти, подумайте о Управление памятью для сеансов в вашем приложении asp.

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

Эта проблема возникла в одном из наших стресс-тестов, где мы наблюдали небольшое увеличение потребления памяти на некоторых страницах. На этих страницах мы устанавливали идентификатор локали для сеанса, используя <% Session.LCID = some_value%>. Я был озадачен, увидев, что удаление этой директивы со страницы положило конец увеличению, хотя на странице было больше кода сценария, на который, по-видимому, не повлияло то, что я тогда считал утечкой памяти. Оказывается, все, что мы делали, - это меняли состояние сеанса ASP, что, в свою очередь, заставляло механизм ASP поддерживать сеанс в отличие от других страниц, на которых не было кода изменения сеанса.

Источник