Какво представлява Varnish и как можете да го използвате, за да подобрите производителността на HTTP?
Абсолютно всеки потребител, който се сблъсква с разработването на уебсайтове и приложения, разбира, че в съвременния свят на интернет технологиите изпълнението на проекта е критичен фактор. Бързото зареждане на страниците не само подобрява потребителското преживяване, но и повишава SEO рейтинга на сайта. То има и голям ефект върху динамиката на нарастване на печалбата на вашия проект. Един от инструментите, които могат значително да подобрят производителността на HTTP заявките, е Varnish Cache. Тази статия има за цел да разгледа ползите от използването на Varnish и как той може да ви бъде полезен. Първото нещо, което трябва да се спомене, е, че Varnish е високопроизводителен HTTP ускорител, който се използва за кеширане на съдържанието на уебсайтове. Неговата задача е да се инсталира пред уеб сървъра и да обработва заявките от клиентите, като връща кеширани копия на страниците, вместо да се свързва с уеб сървъра всеки път. Това значително намалява натоварването на сървъра и ускорява обработката на заявките. Тоест този инструмент всъщност ускорява, понякога дори няколко пъти, работата на вашия сървър.
Как да инсталирате и управлявате Varnish
Методите за инсталиране зависят от конкретната операционна система, като в това ръководство е обърнато внимание на Ubuntu 22.04. Varnish може да бъде инсталиран чрез следната команда:
apt install varnish
След като сте инсталирали успешно Varnish, трябва да го конфигурирате за работа с вашия уеб сървър. По подразбиране Varnish слуша на порт 6081. Можете да промените конфигурацията във файла
/etc/varnish/default.vcl.
Например, той може да изглежда по следния начин, ако решите да промените порта (например порта на http-alt )
backend default {
.host = "127.0.0.1";
.port = "8080";
Пример за работа с Varnish
Съществуват няколко варианта за работа с Varnish. Например, трябва да конфигурирате времето за живот на кеша (TTL) и можете да го конфигурирате в зависимост от вида на съдържанието. Например за новинарски сайт можете да зададете кратко време на кеширане до живот за актуалните новини и по-дълго за архивни новини и не толкова актуални материали.
sub vcl_backend_response {
if (bereq.url ~ "^/news") {
set beresp.ttl = 2m;
} else {
set beresp.ttl = 72h;
}
}
Как можете да го използвате, за да подобрите производителността на HTTP
Съществуват няколко важни предимства, които потребителите могат да получат, като използват Varnish за подобряване на производителността на HTTP. Някои от тях са изброени по-долу:
- Анонимизиране. Потребителите на интернет често се сблъскват с процеса на сканиране на име на домейн. Това може да означава обратен прокси сървър, той ще получи информация за прокси сървъра, а не за истинския уеб сървър зад него.
- Сигурност. Уебсайт, защитен от обратен прокси сървър, може по-лесно да избегне злонамерени атаки. Това ще ви помогне да поддържате безпроблемна работа на уебсайта, без да причинявате загуби на клиентите си.
- Изтегляне на SSL или прекратяване на SSL. Обратното прокси може да приема всички HTTPS заявки и да извършва SSL handshake с браузъра на потребителя. След това тези заявки се преобразуват в HTTP и се изпращат към уеб сървъра. Това освобождава вашия сървър от SSL handshake и той може да се заеме с други важни дейности (като изтегляне на останалата част от съдържанието на уебстраницата);
- И накрая, кеширане! Ако позволите на обратния прокси сървър временно да съхранява статично съдържание на вашите страници, то ще бъде обработвано при всяка нова заявка към него: няма да има обиколка до оригиналния сървър и страниците ви ще се зареждат по-бързо.