none
Кэширование данных в IIS 5.0, 6.0, 7-7.5 RRS feed

  • Вопрос

  • Встал вопрос о грамотной настройке кеширования данных в IIS.

    Имеется система, работающая на IIS (ASP). При обращении к сайту (информация получена Firebug 1.8.3 Firefox 7.0.1) постоянные файлы, например jquery-1.5.1.min.js, постоянно обновляются, т. е. их статус - 200. Если перезагрузить страницу (CTRL+R), статус - 304. Включил кеширование методом:

    http://technet.microsoft.com/ru-ru/library/cc754957%28WS.10%29.aspx

    Возможно есть уже готовые статьи на данную тему?

    Забыл уточнить, в корне сайта создался Web.config:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <caching enabled="true" enableKernelCache="true" />
        </system.webServer>
    </configuration>
    


    1 ноября 2011 г. 10:55

Ответы

  • Кеширование на уровне сервера и уровне клиента - разные вещи.

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

    По идее статус 304 - сравнение ответа сервера с содержимым кеша броузера. Ctrl +r - просто обновить страницы, сравнивая кеш броузера и ответ сервера.

    А вот при обновить не используя кеш - ctrl +shift + r вернет 200 - успех отдачи файла (страницы). Только причем тут кеширование на уровне сервера? Серверу плоскопараллельно, отдавал он вам раньше этот файл или нет ) Спрашиваете - отдает. 

    Другое дело, когда 3000 уникальных клиентов генерят запросы. Наверняка будут одинаковые запросы и спросят один и тот же элемент. Jpg или asp код. И его (элемент) нужно считать с диска или сгенерировать с помощью asp приложения, или что много дешевле по накладным расходам - отдать уже из кеша IIS.

    Встает проблема размера памяти выделяемой под кеш, устаревания элементов, и многого другого. 

    Хорошая статья про механизм кеширования в IIS

    http://technet.microsoft.com/ru-ru/gg281611.aspx

    Особенно полезно прочитать и понять пункт - Сложности кеширования.

    • Помечено в качестве ответа Denis DyagilevEditor 17 ноября 2011 г. 7:34
    5 ноября 2011 г. 21:44

Все ответы

  • Кеширование на уровне сервера и уровне клиента - разные вещи.

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

    По идее статус 304 - сравнение ответа сервера с содержимым кеша броузера. Ctrl +r - просто обновить страницы, сравнивая кеш броузера и ответ сервера.

    А вот при обновить не используя кеш - ctrl +shift + r вернет 200 - успех отдачи файла (страницы). Только причем тут кеширование на уровне сервера? Серверу плоскопараллельно, отдавал он вам раньше этот файл или нет ) Спрашиваете - отдает. 

    Другое дело, когда 3000 уникальных клиентов генерят запросы. Наверняка будут одинаковые запросы и спросят один и тот же элемент. Jpg или asp код. И его (элемент) нужно считать с диска или сгенерировать с помощью asp приложения, или что много дешевле по накладным расходам - отдать уже из кеша IIS.

    Встает проблема размера памяти выделяемой под кеш, устаревания элементов, и многого другого. 

    Хорошая статья про механизм кеширования в IIS

    http://technet.microsoft.com/ru-ru/gg281611.aspx

    Особенно полезно прочитать и понять пункт - Сложности кеширования.

    • Помечено в качестве ответа Denis DyagilevEditor 17 ноября 2011 г. 7:34
    5 ноября 2011 г. 21:44
  • Спасибо за ответ!

    Показал девелоперам статью. Не удовлетворило их:)

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

    Может существует раздел на MS, посвященный производительности и оптимизации настроек под большие нагрузки?

    22 ноября 2011 г. 9:00
  • Оптимизация производительности служб IIS (IIS 7)

    Десять лучших способов улучшения производительности IIS 7.0

    Tips for Windows Server 2008 and IIS7 Tuning

    Improving .NET Application Performance and Scalability

    10 Tips for Writing High-Performance Web Applications


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    22 ноября 2011 г. 13:10
    Модератор