https://blog.superhosting.bg/web-cache-web-accelerators.html

Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

Системи за кеширане и ускоряване в Уеб

2016-10-31
Технологии
скорост на зареждане, кеширане, уеб технологии, споделен хостинг, VPS, Cloud VPS, web cache, cache, DNS кеш сървъри, Memcache, APC, eAccelerator, Varnish, Squid, Apache Traffic Server, Nginx, Reverse Proxy,

В началото на Уеб, когато уеб сайтовете са представлявали само HTML файлове, с повече текст и малко изображения, скоростта на зареждане на уеб страниците все още не е била основен фактор за доброто потребителско изживяване.

Когато обаче Уеб става динамичен, тоест уеб сайтовете започват да предлагат динамично генерирана информация, скоростта на зареждане започва пряко да влияе на доброто интерактивно изживяване на уеб потребителите. Освен HTML файлове уеб сървърите се натоварват да работят със скриптови езици, които пък работят в близко сътрудничество с бази от данни. Размерът и сложността на уеб информацията се увеличава, което довежда до забавяне 🐌 в доставянето на уеб съдържанието до уеб потребителите.

За да се зареди само една страница от динамичен сайт, се извършва интензивна работа от страна на сървъра. Стартират се скриптове, които обработват данни, изпълняват се SQL заявки към базата данни и различни други процеси, само за да се генерира информацията, която уеб потребителят очаква.

Кеширане на информация в Уеб (Web cache)

Думата “кеш” идва от “cache” на английски, което преведено буквално означава “складирам, скривам”. А Web cache означава складиране на уеб информация.

Въпреки че информацията в уеб страниците вече се генерира динамично, тя не се променя всяка секунда. Това означава, че една и съща информация се предоставя на всички потребители, но за всеки един от тях ще се генерира наново. Този процес на динамично генериране на една и съща информация се извършва постоянно, при всяко достъпване. Това довежда до излишно използване на ресурси 🍩 като време, процесорен ресурс, памет и други.

Заради тази ситуация на разхищение на ресурси и време, което пряко засяга времето на зареждане на уеб сайта, се създават технологии за складиране на вече веднъж генерираната информация. След като информацията, генерирана по динамичен начин, е записана (кеширана), тя представлява статично съдържание. То се предоставя директно на потребителите без генериране, изчакване и забавяне.

Кеширането на информация за следваща употреба е ефективен метод за ускоряване на зареждането на динамичен сайт. Когато се приложи и компресиране на тази записана информация, свалянето й от уеб потребителя се ускорява 🚀 още повече.

Кеширане и компресиране в Уеб:

• намалява времето на изчакване;
• намалява мрежовия трафик; намалява количеството информация предавано по мрежата;
• намалява процесорното потребление и натоварване на уеб сървъра;
• помага за по-бърз достъп и по-бързо зареждане на уеб ресурсите.

Системи за кеширане и ускоряване в Уеб

Системите за ускоряване в Уеб (още наричани web accelerators) ползват кеширане на информацията, като част от цялостната им функция. Освен кеширане, тези системи за ускоряване може да прилагат компресиране, филтриране, предварително изтегляне на ресурси и други.

Уеб информация може да се кешира локално при уеб потребителя – Browser Cache, преди сървъра-източник на уеб съдържанието – Reverse Proxy/Web Accelerator и при самия сървър-източник на ниво приложение.

web-cache-reverse-proxy

Cache miss — (търсената информация не е налична в кеша)

(1) Уеб браузърът изпраща заявка до сървъра, отговарящ за търсения домейн, за уеб ресурса page.html, заявката се прихваща от прокси сървъра;
(2) Прокси сървърът проверява в кеша за търсената страница и не я намира. Този пропуск може да се нарече Cache miss.
(3) Прокси сървърът изпраща запитване за ресурса до сървъра-източник.
(4) Сървърът-източник връща на проксито търсената уеб страница.
(5) Прокси сървърът получава, копира уеб ресурса и го изпраща към уеб клиента.
(6) Уеб браузърът получава търсения уеб ресурс.

Cache hit — (търсената информация е налична в кеша)

(A) Уеб браузърът изпраща заявка за уеб ресурса page.html до сървъра, отговарящ за търсения домейн и заявката е прихваната от прокси сървъра (тъй като той се намира пред сървъра-източник).
(B) Прокси сървърът проверява в кеша за търсената страница и я намира – Cache hit. Директно предоставя уеб ресурса към уеб клиента, като този път не се обръща към сървъра-източник.

Какво е Browser Cache?
Уеб браузърът на потребителя може да кешира обекти от уеб сайтовете като изображения, скриптове, страници и други. Когато се достъпи дадена уеб страница, уеб браузърът първо ще провери дали обектите на тази страница вече не съществуват в кеша. Ако обектите са записани и все още са актуални браузърът ще ги зареди от кеша, вместо да се свързва уеб сървъра. Зареждането на данни от кеша на уеб браузъра е много по-бързо, отколкото изтеглянето им от уеб сървъра. Понякога, след извършване на промени по даден уеб сайт, за да се види актуалната информация в сайта, може да е необходимо да се изчисти кешираната информация в уеб браузъра.

Какво е Reverse Proxy?
Reverse Proxy (обратно прокси) е тип прокси сървър (посредник между уеб клиент и уеб сървър) и една от функциите, които може да изпълнява е кеширане. Reverse Proxy може да се постави пред уеб сървъра, като потребителите се свързват с прокси сървъра, вместо директно с уеб сървъра.

Някои от благоприятните функции, които Reverse Proxy може да изпълнява са:
• намаляване на натоварването на уеб сървъра, чрез ефективно кеширане на статично и динамично съдържание (web accelerator);
• намаляване на времето за достъп до уеб сайта;
• разпределяне на натоварването, в случай че зад прокси сървърът има повече от един уеб сървър;
• защита от общи уеб базирани атаки;
• компресиране на съдържанието, за по-бързо зареждане на уеб сайта;

Приложения, които са уеб ускорители и може да се ползват за Reverse Proxy кеширане: Varnish, Squid, Apache Traffic Server, Nginx и други.

Услуги, при които можете да ползвате тези технологии: CloudVPS и VPS.

При виртуалните сървъри можете да използвате всяка система за кеширане и техника за ускоряване, която е съвместима с платформата, настройките и целите на уеб проекта.

При Cloud виртуалните сървъри по същия начин като при обикновените виртуални сървъри можете да използвате всякакви системи и техники за оптимизиране и ускоряване на уеб проектите. Cloud платформата, освен основното й предимство, има и друго по-скоро организационно предимство – в един клиентски акаунт можете да създавате, преинсталирате и премахвате колкото си искате виртуални сървъри. Освен VPS-а, на който се намира вашият сайт, можете да създадете допълнителни VPS-и, които да служат за определена ускоряваща, кешираща цел. Можете да създавате Load Balancer-и (баланс на натоварването), да инсталирате уеб ускорители и прокси кеширащи сървъри. Тези оптимизационни похвати могат да стоят пред основния виртуален сървър, да балансират натоварването и да ускоряват достъпа и зареждането на уеб проекта.

Технологии за кеширане на ниво приложение
Съществуват различни системи и технологии за кеширане на информация вътрешно на приложния сървър. Memcache, APC и eAccelerator са пример за такива кеширащи технологии.

Услуги, при които можете да ползвате тези технологии: Споделен хостингCloudVPS и VPS.

Кеширането на информация е изпитан метод за оптимизиране на скоростта на уеб приложенията, но не е единствен. Само този метод не е достатъчен, когато на по-ниско ниво има нужда да се приложат други оптимизации.

Reverse Proxy похватът за кеширане на информация работи само при трафик към сайта, генериран от анонимни потребители. Когато сайтът се достъпи от потребител, който се е логнал в системата, кеширане на информацията не се прилага.

Интересно: Освен посочените технологии и системи за кеширане на информация, чиято главна цел е ускоряване на уеб приложенията и достъпа до тях, в интернет има и други видове кеширане.
Например търсачката на Google също кешира уеб информация. За всеки уеб сайт, който е посетен от бота на Google, се създава кеширана версия. Това кеширане е особено полезно, в случай че даден сайт е временно недостъпен, през кеша все пак ще може да се зареди.

Има и специфични системи, които създават и поддържат уеб архив на уеб сайтовете като The Internet Archive.

Още кеширане: DNS кеш сървъри. DNS информацията на даден домейн се записва в DNS сървърите на интернет доставчиците. Така че при последващо достъпване на този домейн се използва кешираната DNS информация, вместо да се питат DNS root сървърите.

Специалист Техническа Поддръжка

Меган е нашият support гуру – може да отговори на всеки технически въпрос. Знае всичко за новите технологии. СуперСилата на Меган е, че може да обясни и най-сложните технологии на достъпен за всеки език.

500px270px
SuperHosting.BG

Препоръчани статии

Оставете коментар

1 Коментар към "Системи за кеширане и ускоряване в Уеб"

Уведоми ме при
avatar

pechalbata.com
Гост
pechalbata.com
22 юни 2015 17:16

Страхотна статия. Много ми помогна. Благодаря Ви!!

wpDiscuz