stringtranslate.com

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

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.

Версия Varnish 1.0 была выпущена в 2006 году, [3] [4] Varnish 2.0 в 2008 году, [5] Varnish 3.0 в 2011 году, [6] Varnish 4.0 в 2014 году, [7] Varnish 5.0 в 2016 году, [8] Varnish 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 также включает в себя:

Смотрите также

Рекомендации

  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 5.0.0 — HTTP-кэш Varnish» . лак-кэш.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-cache.org. Архивировано из оригинала 21 августа 2010 г. Проверено 18 июля 2014 г.
  15. ^ «Каталог VMOD (модули и расширения Varnish) | Сообщество Varnish» . Varnish-cache.org . Проверено 18 июля 2014 г.
  16. ^ «Святой режим». Лак . Архивировано из оригинала 7 мая 2011 года.
  17. ^ «Режим Грейс». Лак . Архивировано из оригинала 9 мая 2011 года.
  18. ^ Ферин, Тайс (2017). Начало работы с Varnish Cache: ускорение ваших веб-приложений . О'Рейли Медиа, Инк. с. 85. ИСБН 9781491972229.

Внешние ссылки