The OpenNET Project / Index page

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

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

Пол-Хенинг Камп (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
Тип: Программы
Ключевые слова: varnish, cache
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 11:06, 19/09/2016 [ответить] [смотреть все]
  • +2 +/
    это прорыв ... весь текст скрыт [показать]
     
     
  • 2.4, бедный буратино, 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 +/
    Это скорее такой перевод 8212 в оригинале все более однозначно Хотя для моло... весь текст скрыт [показать]
     
     
  • 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, виндотролль, 13:55, 19/09/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    а зачем это на варнише Для терминации ссл существует множество других инструмен... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Аноним, 13:45, 20/09/2016 [^] [ответить] [смотреть все]  
  • +/
    например?
     
     
  • 4.17, dep, 18:03, 20/09/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    например платный Варниш.
     
  • 4.21, виндотролль, 22:12, 21/09/2016 [^] [ответить] [смотреть все]  
  • +/
    > например?

    https://hitch-tls.org/

     
  • 2.7, dmonk, 14:54, 19/09/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    А зачем без терминации SSL нужен HTTP 2 Нет, формально, по стандарту, можно, но... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, th3m3, 15:22, 19/09/2016 [ответить] [смотреть все]  
  • –1 +/
    Не понимаю, чем оно лучше кеша nginx?
     
     
  • 2.9, Аноним, 16:06, 19/09/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +10 +/
    А какие шаги ты уже предпринял, чтобы понять?
     
     
  • 3.13, th3m3, 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, 22:03, 19/09/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    В общем, nginx рулит ;)
     
  • 3.14, Аноним, 03:28, 20/09/2016 [^] [ответить] [смотреть все]  
  • +/
    Обычный DSL на Lua... весь текст скрыт [показать]
     
  • 1.18, Аноним, 18:41, 20/09/2016 [ответить] [смотреть все]  
  • +/
    Varnish умеет адекватно кешировать в памяти, nginx же всегда работает с дисковым... весь текст скрыт [показать]
     
     
  • 2.19, Аноним, 02:49, 21/09/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ты нашел фатальный недостаток nginx, Varnish умеет mmap для кеша из коропки
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor