varnish studio что это

CND Vinylux: почему я не вернусь к обычному лаку

Осторожно: простыня с многофоток)

Когда родила ребёнка, времени на маникюр стала совсем мало. Хочу рассказать о системе, которая поможет тем, кто в цейтноте — CND Vinylux. С ней можно накрасить ногти за 15 минут, лечь спать и наутро проснуться с нормальным покрытием без отпечатков подушки.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Что это, как наносить, плюсы и минусы

CND Vinylux — или для простоты «винилюкс» — что-то среднее между шеллаком и обычным лаком.

Система состоит из двух средств — лака CND Vinylux Long Wear Polish и топа CND Vinylux Long Wear Top Coat. На сайте марки увидела еще один вариант топа с эффектом гель-лака — CND Vinylux Gel-like Effect Top Coat, но я его не пробовала и не могу сказать, как он работает.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Как и в случае с шеллаком, CND были изобретателями технологии, которая потом разошлась и приобрела массу аналогов. Сейчас системы, похожие на винилюкс, есть у многих профессиональных ногтевых марок, да что там — даже у Vivienne Sabo. Я пробовала несколько из них, но все равно вернулась к CND: на моих ногтях он держится лучше всего.

Работает система так:

Для меня винилюкс оказался незаменимым, когда хочется цвета на ногтях, а на покрытие есть от силы полчаса. Я наношу два слоя лака с минимальным перерывом, а затем щедрый слой топа. Через 10 минут уже можно спокойно задевать вещи руками и заниматься хозяйством. Обычно для верности я жду минут 20. После этого можно уже ложиться спать.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Так выглядит покрытие на третий день

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

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

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

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

Для меня отдельный плюс — то, что винилюкс мало травмирует ногти. Топ не сушит ногтевую пластину как обычные быстрые сушки. Все неприятности у меня были только от плохих ЖДСЛ.

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

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Слева старая версия лака, справа — новая

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Кисточки: слева старая версия лака, справа — новая

Обзор доступных мне оттенков

В сети свотчей на винилюкс мало, а они нужны, так как покупать CND сейчас приходится в основном онлайн. Поэтому я сфотографировала все доступные мне оттенки — свои, коллекцию мамы и коллекцию сестры.

Постаралась сделать свотчи при дневном свете. Свотчи на ромашке молочного цвета, так как мои ногти сейчас не идеальном состоянии.

Все оттенки CND Vinylux можно условно разделить по текстуре на несколько групп. Это не официальная классификация, а основанная на моих ощущениях:

Многие оттенки шеллака и винилюкса совпадают. Так что если вам понравился какой-то цвет, можно поискать его аналог.

Дальше будет простыня свотчей, которые я постаралась разделить по группам.

Самая удачная группа оттенков. Красных в CND Vinylux много, они очень разные и почти все хорошие. Можно найти почти любой финиш и подтон.

First love —сложный для фото оттенок. Что-то среднее между красным и теплым розовым. Креле, беспроблемный.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Hollywood — оправдывает свое название. Классический теплый красный, слегка уходит в морковный. В базе плавает мелкий-мелкий золотистый шиммер, который придает покрытию интересный объем, хотя из-за него лак уходит совсем в ретро. Беспроблемный, праздничный.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Wildfire — классический яркий красный. Подходит почти всем и для любого случая. Сестра извела уже около пяти флаконов. Креле, цвет плотный.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Rouge Red — почти полный аналог Wildfire, в нем слегка больше синего. Тоже креле, наносится хорошо. Я не нашла его в списке цветов на официальном сайте, так что, похоже, этот оттенок сняли с производства.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Wildfire, Rouge Red, Hollywood

Rose Brocade — малиновый. Классный, красивый. Креле, носится в два слоя беспроблемно.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Rouge Rite — это моя любовь. Темный красный цвет с синим подтоном, который классно гармонирует с кожей и смотрится очень спокойным и уместным. Это такой красный, который носить проще, чем многие нюды) Креле, наносится беспроблемно.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Bloodline — кто помнит то время, когда каждый лакоманьяк считал нужным иметь в коллекции шанелевский Rouge Noir или его аналог? Вот это один из семейства ружнуаров. Более желейный, чем предыдущие товарищи. Может полосить и иногда требует три слоя вместо двух. Забавное совпадение: мой экземпляр Rouge Noir был с кривой лохматой кисточкой и у Bloodline она тоже кривая и лохматая) Прямо не судьба.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Leather Satchel — красно-коричневый с шиммером. Шиммер не выпирает, скорее придает больше объема. Интересный оттенок, но на мне выглядит немного тяжеловесно. Слегка жидковат, но легко наносится в два слоя.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Все красные: Rose Brocade, Hollywood, Wildfire, Rouge Red, First Love, Rouge Rite, Bloodline, Leather Satchel

Фиолетовые и розовые

Эта группа на втором месте по числу любимчиков. У CND Vinylux хорошие фиолетовые оттенки, а вот розовые — очень разные.

Beckoning Begonia — розовый с легкой фиолетовой ноткой и крупным серебристым шиммером. Наносится легко, без полос. Очень понравился в флаконе, а на руках разочаровал: нет фиолетовой нотки и он смотрится неинтересным розовым.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Crushed Rose — глубокий розовый с уходом в фиолетовый. Один из моих любимчиков: беспроблемный в нанесении и универсальный в носке, креле.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Brazen — пурпурный розовый. В флаконе кажется, что он более темный и фиолетовый, чем Crushed Rose, но на самом деле они почти неотличимы. Знаю, потому что делала двухцветный маникюр с ними. Но больше всего я люблю носить его с Boheme, о котором ниже. Этот лак тоже беспроблемное креле.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Tango Passion — яркий фиолетовый с шиммером. Честно говоря, купила только из-за названия, так как танцую танго) Сначала хотела отдать: он очень жидкий и нужно три слоя для плотного цвета. Но потом полюбила его для педикюра: подходит почти ко всем танцевальным туфлям)

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Married to the Mauve — приглушенный коричнево-фиолетовый. Одно время такие оттенки были очень популярны. Но именно в этом случае мне не нравится баланс фиолетового и коричневого: последнего слишком много, мне не хватает серого и фиолетового. В целом хороший, рабочий представитель плотных креле.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Married to the Mauve

Plum Paisley — темный холодный фиолетовый с мелким серебристым шиммером. На ногтях довольно темный, но не выглядит тяжелым благодаря шиммеру. Плотный, беспроблемное нанесение.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Фиолетовые: Beckoning Begonia, Tango Passion, Crushed Rose, Brazen, Married to the Mauve, Plum Paisley

Здесь все сложно: есть идеальные нюды, а есть полосящий ужас.

Naked Naivette — молочный белый крем с розовинкой. Наносится тяжеловато, может полосить. Быстро загустевает.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Skin Tease — похож на предыдущий, но в нем больше желтого и коричневого. Наносится проще: не полосит и не так сильно густеет.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Dandelion — не совсем нюд, но около: сильно разбеленный бежево-желтый с перламутром. Вроде бы не самый простой оттенок, но на ногтях смотрится просто отлично. Может капризничать и полосить. Если повезет, справляюсь в два слоя. Обычно — в три.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Soulmate — светлый коричневато-коралловый. Понравился мне в флаконе, но не дружит с моим цветом кожи и превращается в противный выбеленный кирпичный. Креле, наносится легко.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Clay Canyon — светлый коричневый с легким оранжевым оттенком. Оказался для меня идеальным нюдом, особенно на лето. Креле, наносится легко, но может полосить.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Boheme — бежевый с оттенком какао. Отличный базовый цвет, особенно на зиму. Хорошо сочетать с другими цветами в маникюре. Креле, наносится беспроблемно.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Нюды: Naked Naivette, Dandelion, Skin Tease, Soulmate, Clay Canyon, Boheme и затесавшийся из прочих Rubble

Вообще я пыталась найти аналог оттенку из шеллака, но так как не спросила название, то все три раза попала мимо.

Tropix — слегка разбеленный коралловый. Яркий и сочный, но мне в нем не хватило розового. Креле, наносится в два слоя, но может полосить.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Lobster Roll — слегка разбеленный коралловый с той самой легкой розовинкой, которую я искала. Как и Tropix — креле, которое может слегка полосить.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Mango Beat — яркий кораллово-красный. Оставила его, потому что напомнил любимый Red Lights Ahead от OPI. Желе, наносится легко.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Коралловые: Lobster Roll, Mango Beat, Tropix

Немного оттенков, которые не попали в остальные категории.

Sun Bleached — пастельный желтый. В два слоя полосит, в три — отличный и долго носится.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Слева Sun Bleached, справа — Dandelion. Видно, что последний более телесно-бежевый

Sugar Cane — пастельный зеленый. Брат-близнец Sun Bleached, хотя и из другой коллекции. Ношу их чаще всего дуэтом. Тоже нужно три слоя для ровного покрытия.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

Rubble — темно-серый, напоминает сырой цемент. Ужасный лак: цвет тупо серый, хотя по промо мне показалось, что есть нотка коричневого и лилового. Плотный крем, наносится тяжело. Мой экземпляр к тому же не новый, загустел и образовались комки. Помучилась для два раза и выбросила.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это

За прошедший год я пользовалась обычным лаком всего пару раз. В итоге я почти полностью перешла на CND Vinylux. Оставила лишь два лака Chanel, которые мне подарили близкие люди и у которых мне очень нравится цвет. Рекомендую винилюкс всем, кто ищет прочное и быстросохнущее покрытие.

Источник

Полировщик для веб-сайта. Знакомимся с кеширующим прокси Varnish

Содержание статьи

Немного о проекте

Varnish пред­став­ляет собой кеширу­ющий «обратный» (reverse) прок­си‑сер­вер и аксе­лера­тор HTTP. Прин­цип его работы в общем стан­дартен для такого клас­са прог­рамм. Он получа­ет зап­рос, обра­баты­вает его и сра­зу выда­ет ответ, если он при­сутс­тву­ет в кеше; если нет, то обра­щает­ся к веб‑сер­веру за резуль­татом. Ответ помеща­ется в кеш. Varnish написан с нуля для нор­веж­ской газеты Verdens Gang. Вер­сия 1.0 появи­лась в 2006 году, в 2014-м пред­став­лен релиз 4.0. Основной код дос­тупен под BSD-подоб­ной лицен­зии, но есть и ком­мерчес­кие модули.

Про­ект сра­зу прив­лек себе вни­мание весь­ма гром­кими заяв­лени­ями авто­ра, одно­го из раз­работ­чиков FreeBSD Пола‑Хен­нинга Кам­па (Poul-Henning Kamp) о том, что все (с намеком на Squid) сде­лано неп­равиль­но. И дей­стви­тель­но, Varnish выделя­ет сов­ремен­ный дизайн, эффектив­но исполь­зующий воз­можнос­ти сов­ремен­ных мно­гоп­роцес­сорных сис­тем (Sqiud научил­ся работать с SMP чуть поз­же с вер­сии 3.2). Мно­гопо­точ­ность реали­зова­на с помощью стан­дар­тных потоков POSIX, их количес­тво регули­рует­ся. Это одна из при­чин, почему Varnish не очень хорошо работа­ет в Windows. Каж­дый зап­рос обра­баты­вает­ся в отдель­ном потоке. При­чем с вер­сии 4.0 за получе­ние зап­роса от поль­зовате­ля и переда­чу зап­роса сер­веру отве­чают раз­ные потоки, что еще более повыси­ло про­изво­дитель­ность. Varnish под­держи­вает тех­нологию ESI (Edge Side Includes), поз­воля­ющую раз­бивать веб‑стра­ницу на час­ти и зап­рашивать их отдель­но. Кеш может хра­нить любую информа­цию. В ито­ге Varnish отлично под­ходит для кеширо­вания динами­чес­кого кон­тента.

Для хра­нения дан­ных (кеша, жур­налов опе­раций) исполь­зует­ся вир­туаль­ная память. Управле­нием того, что выг­ружа­ется на диск, занима­ется ОС. Здесь авто­ры Varnish спра­вед­ливо счи­тают, что раз­работ­чики ОС свое дело зна­ют, а дуб­лирова­ние толь­ко ухуд­шает про­изво­дитель­ность.

В отли­чие от Squid, который изна­чаль­но боль­ше ори­енти­ровал­ся на кеширо­вание кли­ент­ских зап­росов, Varnish был раз­работан и опти­мизи­рован имен­но в качес­тве уско­рите­ля HTTP и ничего дру­гого боль­ше не уме­ет. Мы не най­дем здесь под­дер­жку осталь­ных про­токо­лов (FTP, SMTP и про­чие), не уви­дим воз­можнос­ти пря­мого прок­си — кеширо­вания веб‑стра­ниц для эко­номии внеш­него тра­фика (Varnish «при­вязы­вает­ся» к бэкен­дам). Естес­твен­но, отли­чают­ся и воз­можнос­ти по кон­фигури­рова­нию.

Язык кон­фигура­ции Varnish Configuration Language (VCL) — динами­чес­кий, скрипт сам по себе по сути явля­ется отдель­ным пла­гином. Код тран­сли­рует­ся в С (мож­но сра­зу писать встра­иваемый код на С), пос­ле чего инс­трук­ции ком­пилиру­ются в биб­лиоте­ку и под­гру­жают­ся в память. Мож­но вно­сить изме­нения в кон­фигура­цию на лету. Инс­трук­ции в VCL поз­воля­ют кеширо­вать толь­ко опре­делен­ные зап­росы, сни­жая наг­рузку при генера­ции динами­чес­ких объ­ектов, бло­киро­вать дос­туп к опре­делен­ным катало­гам и скрип­там, под­менять заголов­ки и мно­гое дру­гое. Есть и механизм про­вер­ки работос­пособ­ности бэкен­дов (замер вре­мени отве­та, счет­чик неудач­ных про­верок и так далее), воз­можность переза­писи и перенап­равле­ния (rewrite) зап­росов. Вооб­ще, такой под­ход поз­воля­ет про­изво­дить с HTTP-тра­фиком прак­тичес­ки любые манипу­ляции, которые мож­но огра­ничить толь­ко собс­твен­ным вооб­ражени­ем. Под­держи­вает­ся балан­сиров­ка наг­рузки (round robin, random и DNS, Client IP). Воз­можнос­ти рас­ширя­ются при помощи модулей, называ­емых VMOD (Varnish MODules). Про­ект пре­дос­тавля­ет необ­ходимую докумен­тацию, поз­воля­ющую написать такой модуль самос­тоятель­но. Часть мо­дулей уже вклю­чены в стан­дар­тную пос­тавку, некото­рые дос­тупны в виде кон­цепта или находят­ся в раз­работ­ке.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что этоПро­ект уже пре­дос­тавля­ет боль­шое количес­тво модулей

Се­год­ня Varnish исполь­зуют такие веб‑сер­висы, как Facebook, Twitter, Vimeo и Tumblr.

Установка и базовая настройка Varnish

Офи­циаль­но рекомен­дует­ся уста­нов­ка Varnish на сов­ремен­ных вер­сиях x64-бит­ных Linux, FreeBSD или Solaris. Пакеты мож­но най­ти в допол­нитель­ных репози­тори­ях (вро­де EPEL или Ubuntu Universe) боль­шинс­тва дис­три­бути­вов Linux и пор­тах *BSD-сис­тем. Сам про­ект пре­дос­тавля­ет репози­тории и под­робные инс­трук­ции для Red Hat, Debian, Ubuntu и FreeBSD. В боль­шинс­тве слу­чаев сле­дует исполь­зовать имен­но репози­торий раз­работ­чика, так как в нем находит­ся более све­жая вер­сия про­дук­та. Воз­можна работа и в Windows (через Cygwin), но опти­миза­ция под *nix-сис­темы не гаран­тиру­ет мак­сималь­ной про­изво­дитель­нос­ти резуль­тата. На сай­те дос­тупны две вер­сии Varnish — 3.x и 4.x, обе явля­ются ста­биль­ными, но под­дер­жка линей­ки 3.x будет прек­ращена в пер­вой полови­не 2015 года. Кста­ти, код дос­таточ­но хорошо написан, поэто­му исправ­лений вно­сит­ся мало (нап­ример, 3-я вет­ка, появив­шаяся в июне 2011-го, содер­жала все­го шесть вер­сий), мож­но не боять­ся исполь­зовать све­жие релизы. Стан­дар­тно Varnish ста­вит­ся перед веб‑сер­вером и кеширу­ет зап­росы. В наг­ружен­ных сис­темах иног­да исполь­зуют более слож­ный вари­ант, ког­да вна­чале зап­рос при­нима­ет лег­кий веб‑сер­вер (nginx, lighttpd), который уме­ет быс­тро отда­вать опре­делен­ные стра­ницы. При необ­ходимос­ти этот сер­вер через Varnish обра­щает­ся к основно­му HTTP-сер­веру, генери­рующе­му кон­тент. Varnish при наличии информа­ции в кеше отда­ет ее отту­да.

Для при­мера уста­новим Varnish в Ubuntu 14.04 LTS в качес­тве фрон­тенда Apache. В дру­гих дис­три­бути­вах отли­чия толь­ко в рас­положе­нии кон­фигура­цион­ных фай­лов и осо­бен­ностях пакет­ных сис­тем.

Вот, собс­твен­но, и все. Пос­ле уста­нов­ки Varnish стар­тует и что‑то там кеширу­ет. Зай­мем­ся кон­фигури­рова­нием. Уста­нов­ки парамет­ров запус­ка демона про­изво­дят­ся в фай­ле /etc/default/varnish. Пер­воначаль­но он скон­фигури­рован с некото­рыми парамет­рами. Если открыть файл, то уви­дим внут­ри три готовые нас­трой­ки: minimal, c VCL и advanced.

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что этоФайл /etc/default/varnish

По умол­чанию акти­виро­ван вто­рой режим. При этом сер­вер при­нима­ет под­клю­чения на порт 6081, для адми­нис­три­рова­ния исполь­зует­ся localhost:6082, а бэкенд опре­деля­ется в VCL. Для кеширо­вания выделя­ется 256 Мб памяти. Нас­тро­им так, что­бы Varnish слу­шал 80-й порт, кешируя зап­росы HTTP-сер­вера, рас­положен­ного на этой же машине. Ком­менти­руем нас­трой­ки вто­рого вари­анта и в качес­тве шаб­лона будем исполь­зовать advanced, как более наг­лядный.

Источник

Linuxoid

OpenSource forever

Знакомимся с кэширующим прокси Varnish

Обработка большого числа запросов может быть весьма тяжелой задачей забирающей ресурсы веб-сервера. Чтобы снять нагрузку используют фронтэнд в качестве которого может выступать легкие nginx/lighttpd или кэширующий прокси-сервер. Во втором качестве очень популярен Squid, он универсален, но не всегда оптимален. Но именно в этой задаче его более эффективно заменяет Varnish.

Немного о проекте

Varnish(varnish-cache.org) представляет собой кеширующий “обратный” (reverse) прокси-сервер и акселератор HTTP. Принцип его работы вообщем стандартен для такого класса программ. Он получает запрос, обрабатывает его и сразу выдает ответ если он присутствует в кэше, если нет то обращается к веб-серверу за результатом. Ответ помещается в кэш. Varnish написан с нуля для норвежской газеты Верден Gang. Версия 1.0 появилась в 2006 году, в 2014 представлен релиз 4.0. Основной код доступен под BSD-подобной лицензии, но есть и коммерческие модули.
Появившись проект сразу привлек себе внимание весьма громкими заявлениями своего автора и одного из разработчиков FreeBSD Пол-Хеннинга Кампа (Poul-Henning Kamp), о том что все, что есть (с намеком на Squid) сделано не правильно. И действительно Varnish выделяет современный дизайн эффективно использующий возможности современных многопроцессорных систем (Sqiud научился работать с SMP чуть позже с версии 3.2). Многопоточность реализована с помощью стандартных потоков POSIX, их количество регулируется. Это одна из причин почему Varnish не очень хорошо работает в Windows. Каждый запрос обрабатывается в отдельном потоке. Причем с версии 4.0 за получение запроса от пользователя и передача запроса серверу отвечают разные потоки, что еще более повысило производительность. Varnish поддерживает технологию ESI (Edge Side Includes) позволяющую разбивать веб-страницу на части и запрашивать их отдельно. Кэш может хранить любую информацию. В итоге Varnish отлично подходит для кэширования динмамического контента.
Для хранения данных (кэша, журналов операций) используется виртуальная память, управлением того что выгружается на диск занимается ОС. Здесь авторы Varnish справедливо считают, что разработчики ОС свое дело знают, а дублирование только ухудшает производительность.
В отличие от Squid который изначально больше ориентировался на кэширование клиентских запросов, Varnish был разработан и оптимизирован именно в качестве ускорителя HTTP и ничего другого больше не умеет. Мы не найдем здесь поддержку остальных протоколов (FTP, SMTP и прочие), не увидим возможности прямого прокси — кэширования веб-страниц для экономии внешнего трафика (Varnish «привязывается» к бэкэндам). Естественно отличается и возможности по конфигурированию.
Язык конфигурации Varnish Configuration Language (VCL) — динамический, скрипт сам по себе по сути является отдельным плагином. Код транслируется в С (можно сразу писать встраиваемый код на С), после чего инструкции компилируются в библиотеку и подгружаются в память. Можно вносить изменения в конфигурацию «на лету». Инструкции в VCL позволяют: кэшировать только определенные запросы, снижая нагрузку при генерации динамических объектов, блокировать доступ к определенным каталогам и скриптам, подменять заголовки и многое другое. Есть и механизм проверки работоспособности бэкендов (замер времени ответа, счетчик неудачных проверок и т.д.), возможность перезаписи и перенаправления (rewrite) запросов. Вообще такой подход позволяет производить с HTTP трафиком практически любые манипуляции, которые можно ограничить только собственным воображением. Поддерживается балансировка нагрузки несколько алгоритмов (round robin, random и DNS, Client IP). Возможности расширяются при помощи модулей, называемых VMOD (Varnish MODules). Проект предоставляет необходимую документацию позволяющих написать такой модуль самостоятельно. Часть модулей (varnish-cache.org/vmods) уже включены в стандартную поставку, некоторые доступны в виде концепта или находятся в разработке.
varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это Проект уже предоставляет большое количество модулей

Сегодня Varnish используют такие веб-сервисы как Facebook, Twitter, Vimeo и Tumblr.

Установка и базовая настройка Varnish

Официально рекомендуется установка Varnish на современных версиях x64 битных Linux, FreeBSD или Solaris. Пакеты можно найти в дополнительных репозитариях (вроде EPEL или Ubuntu Universe) большинства дистрибутивов Linux и портах *BSD систем. Сам проект предоставляет репозитарии и подробные инструкции для Red Hat, Debian, Ubuntu и FreeBSD. В большинстве случаев следует использовать именно репозитарий разработчика, так как в нем находится более свежая версия продукта. Возможна работа и в Windows (через Cygwin), но оптимизация под *nix системы не гарантируют максимальную производительность результата. На сайте доступны две версии Varnish 3.x и 4.x, обе являются стабильными, но поддержка линейки 3.x будет прекращена в первой половине 2015 года. Кстати код достаточно хорошо написан, поэтому исправлений вносится мало (например 3 ветка появившаяся в июне 2011 содержала всего 6 версий) можно не боятся использовать свежие релизы. Стандартно Varnish ставится перед веб-сервером кэшируя запросы. В нагруженных системах иногда используют более сложный вариант, когда вначале запрос принимает легкий веб-сервер (nginx, lighttpd), который умеет быстро отдавать определенные страницы. При необходимости этот сервер, через Varnish обращается к основному HTTP-серверу генерирующему контент. Varnish при наличии информации в кэше отдает ее оттуда.
Для примера установим Varnish в Ubuntu 14.04 LTS в качестве фронтэнда Apache. В других дистрибутивах отличия только в расположении конфигурационных файлов и особенностях пакетных систем.

Вот собственно и все. После установки Varnish стартует и что-то там кэширует. Займемся конфигурированием.
Установки параметров запуска демона производится в файле /etc/default/varnish. Первоначально он сконфигурирован с некоторыми параметрами. Если открыть файл, то увидим внутри три готовые настройки: minimal, c VCL и advanced.
varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это Файл /etc/default/varnish

По умолчанию активирован второй режим. При этом сервер принимает подключения на порт 6081, для администрирования используется localhost:6082, а бэкэнд определяются в VCL. Для кэширования выделяется 256 Мб памяти. Настроим так чтобы Varnish слушал 80 порт, кэшируя запросы HTTP сервера расположенного на этой же машине. Комментируем настройки 2 варианта и в качестве шаблона будем использовать Advanced, как более наглядный.

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

Минимальные установки готовы. Перезапускаем Varnish:

Проверяем при помощи netstat слушается ли порт и доступен ли веб-сервер.

Продвинутые настройки

Это самый простой пример и как видим заставить Varnish кэшировать запросы очень легко, но он пока не «разбирается» и не вмешивается в трафик. Познакомившись с VCL можно расширить базовые возможности. Параметров которые можно настроить очень много и чтобы их описать потребуется книга. VCL это язык программирования в котором найдем все что присуще — переменные, функции, комментарии и т.п. Вариантов использования много и сходу их освоить не получится. В качестве отправной точки можно рекомендовать документацию проекта, в частности Varnish Book(varnish-software.com/static/book). Также в Сети уже есть достаточно шаблонов(github.com/mattiasgeniar/varnish-3.0-configuration-templates) под разные ситуации подготовленных самими пользователями. Они являются хорошим подспорьем по изучению возможностей VCL.
Varnish способен работать с несколькими HTTP-серверами (бэкендами). Каждый определяется аналогично примеру выше:

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

Можно также использовать случайный выбор – для этого вместо “round-robin” необходимо прописываем “random”.
Возможна реализация и более сложных алгоритмов. Но для этого нужно познакомиться с возможностями VCL файлов.
В default.vcl мы увидим несколько именованных блоков (функций). По умолчанию параметры внутри отсутствуют, вот именно с их помощью и производится тонкая настройка кэширования. Кое-что можно установить не вникая в работу приложений на веб-сервере, в более сложных случаях потребуется глубокий анализ выдаваемых страниц (проект предоставляет некоторые утилиты о которых дальше).
Разберем некоторые из них. Порядок вызова функций наглядно показан в разделе [VCL Basics](varnish-software.com/static/book/VCL_Basics.html), некоторые вопросы конфигурирования есть в [документации](varnish-cache.org/docs).
Списки ACL позволяют упралявть доступом к определенным URL или вручную распределять или обрабатывать запросы некоторых клиентов. Создадим правило которое включает все локальные узлы.

Как видим разрешается инвертирование при помощи «!» т.е. 192.168.1.10 не попадает под правило. Теперь к этому списку можем обратиться при помощи конструкции (client.ip

local)
Функция vcl_recv вызывается при получении запроса и перед проверкой данных в кэше. Именно здесь можно модифицировать запрос, удалить Cookie, произвести нормализацию, выбрать бэкэнд в зависимости от запроса и т.д.
По умолчанию Varnish не кэширует запросы с установлены Cookie. Для статических страниц, лучше активировать такую возможность, для этого просто вырезаем Cookie. Также для примера запретим доступ к файлам cron.php и install.php для всех узлов кроме локальных и скажем Varnish, чтобы он перенаправлял все запросы к update.php сразу на бэкэнд.

Это конечно не все что можно сделать. Используя req.http.User-Agent можем распределять бэкенды в зависимости от браузера/устройства клиента. Подробнее (varnish-cache.org/docs/trunk/users-guide/devicedetection.html).
Функция return в случае с vcl_recv может принимать аргументы: lookup — указывает на необходимость поиска в кэше, pass — сразу отправляет запрос на бэкэнд. Последнее как видим позволяет избежать кэширования определенных типов файлов, например медиа или постоянно обновляющегося контента.
Некоторые функции вызывают пустыми, просто чтобы пропустить определенную проверку указав нужный код возрата. Кроме указанных выше возможны варианты — deliver, fetch, hash, pipe, error, restart, retry.
Функция vcl_hash позволяет определить уникальность запроса, который будет кэшироваться. По умолчанию хэш формируется на основании URL и IP/имени сервера. В большинстве случаев этого достаточно, но в некоторых ситуациях этого нехватает и возможно потребуется изменение правил. Например, для определения уникальности используют Сookie.
Функция vcl_error позволяет генерировать контент не обращаясь к веб-серверу, используется для выдачи сообщений об ошибках и редиректа.
Далее в зависимости от ситуации запрос обрабатывается vcl_fetch, vcl_pass и vcl_miss. В 4.0 они заменены более удобные функции vcl_backend_fetch и vcl_backend_response, которые вызываются перед передачей запроса серверу и после получения ответа, соотвественно.
В следующем примере мы убираем выставление cookie для файлов изображений, а также задаем время жизни кэшированного содержимого для этих файлов в 1 час.

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

Это конечно далеко не все возможности, но нужно идти дальше.

Управление Varnish

Работой Varnish можно управлять и отслеживать результат. Для этого в поставке идет несколько утилит начинающихся с varnish*. Все они описаны в разделе «Appendix A: Varnish Programs» Varnish Book. Основной утилитой является varnishadm. Именно с ее помощью производится администрирование, просмотр статуса и ошибок, загрузка модулей «на лету». Принцип работы очень прост. Вызываем:

После чего появится приглашение Varnish CLI. Чтобы получить список команд следует ввести «help».
varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это Список команд varnishadm

Команд не много (23), значение большинства понятно из названия. Подробности по каждой можно получить введя «help команда«. Например, группа команд vcl.* позволяют просматривать и управлять загрузкой, выгрузкой модулей. Смотрим список модулей:

Команды param.show и param.set позволяют просматривать и изменять параметры сервиса, panic.show и panic.clear — отображать и очищать ошибки, ban и ban.list — указывать страницы не подлежащие кэшированию. И так далее.
Две команды varnishtop и varnishhist очень помогают при первоначальной настройки т.к. позволяют просмотреть список наиболее частно встречающихся параметров (URL, идентификаторы, статус и т.д.). Первая утилита выводит их в виде top, вторая как гиксограму. При запросе можно использовать регулярные выражения, поэтому потеряться в большом количестве страниц невозможно. Например, просмотрим список наиболее запрашиваемых URL и заголовки:

Еще три очень полезных утилиты позволяющие просмотреть статистику (varnishstat), и информацию в журналах (varnishlog и varnishncsa). Скрипт varnishtest дает возможность проверить работу кэша Varnish.
Для тех кто не хочет разбираться с командной строкой разработчик предлагают веб-интерфейс Varnish Administration Console (varnish-software.com/resources/vac-demo) — очень удобный инструмент предлагающий произвести все описанные операции и получать статистику в наглядном виде.
varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это Интерфейс Varnish Administration Console

Правда есть минус — доступен он только в коммерческой версии Varnish Plus.
Бесплатное ПО пока не богато вариантами. Плагины поддерживающие Varnish есть в системах мониторинга Collectd, Nagios, Cacti и других. Список известных проектов можно найти на сайте (varnish-cache.org/utilities).

!

varnish studio что это. Смотреть фото varnish studio что это. Смотреть картинку varnish studio что это. Картинка про varnish studio что это. Фото varnish studio что это
График загрузки Varnish в Collectd
(6.jpg)

Вывод

Varnish это очень гибкая программа позволяющая управлять кэшированием трафика с веб-ресурсов. Большие возможности подразумевают большое количество настроек. Поэтому некоторое время придется затратить на их изучение и подгонку под конкретные условия. Но результат того стоит.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *