Jump to content

Лак (программное обеспечение)

(Перенаправлено из кэша Varnish )
Лак
Разработчик(и) Пол-Хеннинг Камп , Redpill-Linpro , Varnish Software
Стабильная версия
7.4.2 [1]  Отредактируйте это в Викиданных / 13 ноября 2023 г .; 8 месяцев назад ( 13 ноября 2023 г. )
Репозиторий
Написано в С
Операционная система БСД , Линукс , Юникс
Тип HTTP-ускоритель
Лицензия лицензия BSD с двумя пунктами
Веб-сайт лак-кеш .org  Edit this on Wikidata

Varnish прокси-сервер обратного кэширования. [2] используется в качестве ускорителя HTTP для динамических веб-сайтов с большим содержанием контента, а также API . В отличие от других веб-ускорителей , таких как Squid , который начинал свою жизнь как кэш на стороне клиента, или Apache и nginx , которые в первую очередь являются исходными серверами , Varnish был разработан как HTTP-ускоритель. Varnish ориентирован исключительно на HTTP , в отличие от других прокси-серверов , которые часто поддерживают FTP , SMTP и другие сетевые протоколы .

Инициатором проекта выступило онлайн-отделение норвежской таблоидной газеты Verdens Gang . Архитектор и ведущий разработчик — датский независимый консультант Пол-Хеннинг Камп. [2] (известный разработчик FreeBSD ), управление, инфраструктуру и дополнительные разработки изначально предоставила норвежская консалтинговая компания по Linux Linpro . Поддержка, управление и развитие Varnish позже были выделены в отдельную компанию Varnish Software.

Varnish — бесплатное программное обеспечение с открытым исходным кодом состоящей из двух пунктов , доступное по лицензии BSD, . Коммерческая поддержка доступна, среди прочего, от Varnish Software.

Версия 1.0 Varnish была выпущена в 2006 году. [3] [4] Лак 2.0 2008 года, [5] Лак 3.0 2011 г., [6] Лак 4.0 2014 года, [7] Лак 5.0 в 2016 году, [8] Лак 6.0 в марте 2018 года, [9] и Varnish 7.0 в сентябре 2021 г. [10]

Архитектура

[ редактировать ]

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

Varnish сильно поточен : каждое клиентское соединение обрабатывается отдельным рабочим потоком. При достижении настроенного ограничения на количество активных рабочих потоков входящие соединения помещаются в очередь переполнения; когда эта очередь достигнет настроенного предела, входящие соединения будут отклонены.

Основным механизмом настройки является язык конфигурации Varnish (VCL), предметно-ориентированный язык (DSL), используемый для написания перехватчиков, вызываемых в критических точках обработки каждого запроса. Большинство политических решений оставлено на усмотрение кода VCL, что делает Varnish более настраиваемым и адаптируемым, чем большинство других HTTP-ускорителей. [ нужна ссылка ] Когда скрипт VCL загружается, он преобразуется в C , компилируется в общий объект системным компилятором и загружается непосредственно в ускоритель, который, таким образом, можно переконфигурировать без перезапуска.

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

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

Показатели производительности

[ редактировать ]

Varnish Cache может ускорить доставку информации в несколько сотен раз. Чтобы обеспечить правильную работу и производительность, Varnish предоставляет метрики, которые можно отслеживать в следующих областях: [11]

  • Клиентские метрики : клиентские соединения и запросы.
  • Производительность кэша : попадания в кэш , вытеснения
  • Метрики потоков : создание потоков, сбои, очереди.
  • Внутренние метрики : успех, неудача и работоспособность внутренних соединений.

Метрическая коллекция

[ редактировать ]

Varnish Cache поставляется с инструментами мониторинга и ведения журналов. Одним из наиболее часто используемых является лакстат, который дает подробный снимок текущей производительности Varnish. Он обеспечивает доступ к статистике в памяти, такой как попадания и промахи в кэше, потребление ресурсов, созданные потоки и многое другое. [12]

Запуск лакстата из командной строки возвращает постоянно обновляемый список всех доступных метрик Varnish. Если добавлен флаг -1, лакстат завершит работу после однократной печати списка. [13] Varnishstat можно использовать как отдельный инструмент для выборочной проверки состояния кэша. Чтобы отображать метрики с течением времени, сопоставлять их с другими статистическими данными по всей инфраструктуре и настраивать оповещения о любых проблемах, которые могут возникнуть, службы мониторинга могут интегрироваться с Varnish и собирать метрики Lacstat.

Varnishlog работает с серверной частью Wikimedia

лаковое бревно

[ редактировать ]

Varnishlog — это инструмент, который можно использовать для отладки или настройки конфигурации Varnish, поскольку он предоставляет подробную информацию о каждом отдельном запросе.

Балансировка нагрузки

[ редактировать ]

Varnish поддерживает балансировку нагрузки с использованием как циклического перебора , так и случайного директора, причем оба имеют взвешивание для каждого бэкэнда. Также доступна базовая проверка работоспособности серверных частей. [14]

Другие особенности

[ редактировать ]

Varnish Cache также включает в себя:

  • Поддержка плагинов с модулями Varnish, также называемыми VMOD. [15]
  • Поддержка Edge Side включает в себя сшивку сжатых фрагментов ESI.
  • Gzip- сжатие и распаковка
  • DNS, случайные, хеширующие и клиентские директора на основе IP
  • HTTP-потоковая передача и выборка
  • Экспериментальная поддержка постоянного хранилища без вытеснения LRU
  • Святой [16] и Грейс [17] [18] режимы.
    • Если сервер работает со сбоями и возвращает код состояния HTTP 500 , льготный режим будет игнорировать заголовки истечения срока действия и продолжит возвращать кэшированные версии. Режим Saint предназначен для использования при балансировке нагрузки , когда неисправный сервер блокируется на период карантина и исключается из пула серверов.

См. также

[ редактировать ]
  1. ^ «Релизы и загрузки» . Проверено 4 декабря 2023 г.
  2. ^ Перейти обратно: а б Ферин, Тейс. «1. Что такое Varnish Cache? - Начало работы с Varnish Cache [Книга]» . О'Рейли Медиа . Проверено 22 октября 2023 г.
  3. ^ «Адвент-календарь Catalyst — день 14» . www.catalystframework.org . Проверено 4 сентября 2020 г.
  4. ^ Смёрграв, Даг-Эрлинг (20 сентября 2006 г.). «Выпущен Varnish 1.0» . Проверено 4 сентября 2020 г.
  5. ^ Хин, Толлеф Туман (15 октября 2008 г.). «Выпущена версия Varnish 2.0!» . Проверено 4 сентября 2020 г.
  6. ^ Хин, Толлеф Туман (17 июня 2011 г.). «Выпущен Varnish 3.0.0» . Проверено 4 сентября 2020 г.
  7. ^ Карстенсен, Лассе (10 апреля 2014 г.). «Выпущен Varnish 4.0.0» . Проверено 4 сентября 2020 г.
  8. ^ «Varnish Cache 5.0.0 — Varnish HTTP Cache» . лак-кэш.org . Проверено 4 сентября 2020 г.
  9. ^ Пол-Хеннинг Камп (15 марта 2018 г.). «Выпущена версия Varnish 6.0» . Проверено 15 мая 2018 г.
  10. ^ Пол-Хеннинг Камп (9 августа 2022 г.). «Выпущен Varnish Cache 7.0.0» . Проверено 9 августа 2022 г.
  11. ^ «Основные показатели производительности Varnish» . Лучшие показатели производительности Varnish . 28 июля 2015 г. Проверено 4 сентября 2020 г.
  12. ^ «Как собирать метрики Varnish» . Как собирать метрики Varnish . 28 июля 2015 г. Проверено 4 сентября 2020 г.
  13. ^ «varnishstat(1): Статистика HTTP-ускорителя — справочная страница Linux» . linux.die.net . Проверено 4 сентября 2020 г.
  14. ^ «BackendPolling — Varnish» . Varnish-cache.org. Архивировано из оригинала 21 августа 2010 г. Проверено 18 июля 2014 г.
  15. ^ «Каталог VMODs (модули и расширения Varnish) | Сообщество Varnish» . Varnish-cache.org . Проверено 18 июля 2014 г.
  16. ^ «Святой режим» . Лак . Архивировано из оригинала 7 мая 2011 года.
  17. ^ «Режим благодати» . Лак . Архивировано из оригинала 9 мая 2011 года.
  18. ^ Ферин, Тайс (2017). Начало работы с Varnish Cache: ускорение ваших веб-приложений . О'Рейли Медиа, Инк. с. 85. ИСБН  9781491972229 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fefbf20eb40cb0bd00e8a3bb58a45f4a__1721024640
URL1:https://arc.ask3.ru/arc/aa/fe/4a/fefbf20eb40cb0bd00e8a3bb58a45f4a.html
Заголовок, (Title) документа по адресу, URL1:
Varnish (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)