The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск HTTP-акселератора Varnish 5.0

19.09.2016 10:18

Пол-Хенинг Камп (Poul-Henning Kamp), один из известных разработчиков FreeBSD, участвовавший в создании таких систем, как MD5crypt, GEOM, GBDE и FreeBSD Jail, сообщил о релизе Varnish 5.0, высокопроизводительного кэширующего прокси, предназначенного для работы в роли HTTP-акселератора. Новая версия опубликована спустя 10 лет с момента первого релиза и примечательна отсутствием серьёзных уязвимостей за последние 10 лет. Проект распространяется под лицензией BSD и используется в проектах Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times и Guardian.

Благодаря применению многопоточности и современных методов мультиплексирования соединений, таких как epoll и kqueue, а также системных вызовов sendfile и madvise, Varnish демонстрирует отличную производительность, например, на обычном оборудовании способен обработать поток в 20 Gbps и обеспечить ускорение отдачи запросов в 300-1000 раз. Кэш хранится в виртуальной памяти. Особенностью Varnish является способность собирать отдаваемые страницы по частям на стороне фронтэнда, определяя логику сборки на языке ESI (Edge Side Includes).

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

Основные новшества:

  • Возможность перехода из активного VCL на другой VCL через систему меток, что позволяет собирать отдельные VCL-файлы для разных доменов и виртуальных хостов или выносить в отдельные файлы обработчики для определённого вида трафика. Метки также могут применяться для привязки символьного имени к загруженной конфигурации VCL, например, для обслуживающего персонала можно подготовить готовые блоки для штатного режима, работы в выходные и экстренных ситуаций;
  • Экспериментальная поддержка протокола HTTP/2. До готовности к промышленному применению код HTTP/2 планируется довести к весне следующего года;
  • В основной состав интегрирован переработанный вариант модуля VSLP (StateLess Persistence), который теперь доступен под именем shard director и позволяет организовать работу шардинга по вычисляемому hash-ключу;
  • Увеличена эффективность работы Ban Lurker в конфигурациях, включающих десятки тысяч блокировок на основе регулярных выражений.


  1. Главная ссылка к новости (https://www.varnish-cache.org/...)
  2. OpenNews: Оптимизация алгоритма btree позволила увеличить производительность http-акселератора Varnish
  3. OpenNews: Организация Wikimedia опубликовала файлы конфигурации серверов Wikipedia
  4. OpenNews: В рамках проекта Lwan развивается новый высокопроизводительный HTTP-сервер
  5. OpenNews: В рамках проекта Sandstorm развивается платформа для персональных web-серверов
  6. OpenNews: Доступен HTTP-сервер Caddy 0.9
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45172-varnish
Ключевые слова: varnish, cache
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:06, 19/09/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Новая версия опубликована спустя 10 лет с момента первого релиза и примечательна отсутствием серьёзных уязвимостей за последние 10 лет.

    это прорыв.

     
     
  • 2.4, бедный буратино (ok), 12:48, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    это кривонаписанность

    вот, например, лог из порта OpenBSD

        (2016-08-23) Updated to version: varnish-4.1.3
        (2016-03-15) Updated to version: varnish-4.1.2
        (2015-12-09) Updated to version: varnish-4.1.0
        (2015-09-28) Updated to version: varnish-4.0.3
        (2014-12-17) Updated to version: varnish-4.0.2
        (2014-01-04) Updated to version: varnish-3.0.5
        (2013-09-23) Updated to version: varnish-3.0.4
        (2011-12-23) Updated to version: varnish-3.0.2
        (2010-09-11) Updated to version: varnish-2.1.3
        (2010-07-01) Updated to version: varnish-2.1.2

    а по новости такое ощущение, что они 10 лет репу чесали, а потом "скууучно. никто не ломает. а давайте зарелизим чёнить"

     
     
  • 3.6, Аноним84701 (?), 14:13, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > это кривонаписанность

    Это скорее такой перевод — в оригинале все более однозначно:

    > We have just released Varnish Cache 5.0:
    > http://varnish-cache.org/docs/5.0/whats-new/relnote-5.0.html
    > This release comes almost exactly 10 years after Varnish Cache 1.0,
    > and also marks 10 years without any significant security incidents.

    Хотя для молодого поколения стоило еще упомянуть о "старомодном" версионировании (т.е. не а-ля Хром или Леннарт) и что "всего пятая версия" десять лет не обязательно означает полную заброшенность и стагнацию проекта )

     
     
  • 4.20, анон (?), 15:52, 21/09/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Молчал бы уж, сопляк.

    $ less --version
    less 481 (GNU regular expressions)

     

  • 1.3, Аноним (-), 12:13, 19/09/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нет отразил что-то сделали ли терминацию ssl трафа или нет? или ее и не будет
     
     
  • 2.5, виндотролль (ok), 13:55, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем это на варнише? Для терминации ссл существует множество других инструментов.
     
     
  • 3.15, Аноним (-), 13:45, 20/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    например?
     
     
  • 4.17, dep (?), 18:03, 20/09/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    например платный Варниш.
     
  • 4.21, виндотролль (ok), 22:12, 21/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > например?

    https://hitch-tls.org/

     
  • 2.7, dmonk (?), 14:54, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем без терминации SSL нужен HTTP/2?
    Нет, формально, по стандарту, можно, но только в нынешних условиях неупотребимо - со стороны браузеров не поддерживается
     

  • 1.8, th3m3 (ok), 15:22, 19/09/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Не понимаю, чем оно лучше кеша nginx?
     
     
  • 2.9, Аноним (-), 16:06, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +10 +/
    А какие шаги ты уже предпринял, чтобы понять?
     
     
  • 3.13, th3m3 (ok), 23:52, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я начал говорить об этом :)
     
     
  • 4.16, Аноним (-), 17:32, 20/09/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это шаги в неправильном направлении.
     
  • 2.11, Anton (??), 17:38, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    1. Varnish изначально бэл кеширующим, а в nginx кэширование появилось относительно недавно. Многие к тому времени уже начали кешировать Варнишем, а миграция нагруженного сайта на новое ПО дело хлопотное (поэтому дорогое).

    2. В Varnish с помощью VCL можно задать очень сложные условия обработки (и кеширования) запроса. Впрочем далеко не всем это нужно, а сложность конструкция в конфиге - это высокая трудоемкость поддержки конфигурации.

    TLTR; если хватает функцие nginx - используйте его. Не хватает - можно посмотреть на Varnsih (или написать свой модуль к nginx).

     
     
  • 3.12, th3m3 (ok), 22:03, 19/09/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В общем, nginx рулит ;)
     
  • 3.14, Аноним (-), 03:28, 20/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В Varnish с помощью VCL можно задать очень сложные условия обработки

    Обычный DSL на Lua

     

  • 1.18, Аноним (18), 18:41, 20/09/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Varnish умеет адекватно кешировать в памяти, nginx же всегда работает с дисковым кешем  (и подпорка в виде tmpfs - не очень хорошая идея).
     
     
  • 2.19, Аноним (-), 02:49, 21/09/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ты нашел фатальный недостаток nginx, Varnish умеет mmap для кеша из коропки
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру