Така, теми за кеширането на сайт бол в Интернет и сега ще станат един бол +1 с малко изключение. В повечето материали се споделя как кеша ще подобри скоростта на даден сайт и ще намали натоварването, което причинява на сървъра. В малко материали обаче е сподели как се постига това и защо. Днес ще си поговорим именно за това. Преди да започнем е добре да отбележим, че има няколко вида кеш и ще разгледаме три вида – Браузър, сървърен и object.
1. Браузър кеш
Използвания от вас браузър запазва изображения, текстове, скриптове и подобно на Интернет страниците, които сте посетили. Така при повторно зареждане на този сайт то той ще се отвори много по-бързо, защото няма да е необходимо много неща да бъдат зареждани/предоставяни от сървъра, а ще бъдат извлечени от този кеш. До тук всичко звучи добре, но има и лоша страна, а именно понякога съдържанието, което виждате може да не е актуално. Това е основната причина и защо трябва да почиствате този кеш по-често. Другата основна причина е, че това са физически файлове на вашето устройство, което може да съдържа злонамерен software, заема дисково пространство и т.н.
TL DR – Чистете често браузър кеша си.
2. Сървърен кеш
This is the big deal. На кратко, когато отворите Интернет страница сървъра ви подава нейното съдържание. Когато има кеш на сървърно ниво web сървъра ги подава от кеша. Това води до няколко много големи предимства, като – По-бързо подаване от страна сървъра и на практика php не играе роля ( в един идеален свят ). Тук е много важно и каква заявка се изпраща. Примерно “POST” заявки няма (а и не трябва) как да бъдат кеширани. Също така ако част от страницата ви често предизвиква почистването на този системен кеш също няма да можете да се възползвате пълно.
3. Object cache
This is the deal ако сайта ви използва много активно базата данни. На кратко заявки и информация бива кеширана в memory-то и се извиква от там при поискване. Това намалява заявките и като цяло напрежението към базата данни/mysql сървъра. Това също така ще намали, макар и малко и напрежението върху PHP-то, защото то ще връща по-бързо резултата.
Решението, което се ползва в този момент е Litespeed cache и ето защо:
1. WebServer
Страницата е разположена на сървър, който използва Litespeed webserver. Това е задължителна част да се постигне желания резултат.
2. LScache модул
Това е системен кеширащ модул, който е разработен от Litespeed. Той работи в комбинация с webserver-a, за да се извлече пълния потенциал на двата компонента.
3. LiteSpeed Cache
Това е WordPress плъгина на Litespeed, който комплектова цялостната услуга.
Тук може да се забележи нещо общо, а именно, че всичко е разработено от Litespeed. Това е нещо изключително важно, защото разработчиците му познават всеки един код и знаят как точно трябва да бъде използван. За разлика от други кеширащи модули, които не работят на пълно в комбинация с останалите services на системата.
Принципно съм фен на изчистените страници и добре оптимизираните. Поради тази причина и използвам стар (за мен добър) темплейт без почни никакви допълнителни плъгини. Повечето от промените са влагани директно в кода, като така унищожавам много излишни промени, които плъгин може да внесе.
Резултати след като използвам Litespeed
В повечето тестове (като gtmetrix и pingdom) резултата/оценката варира между 95 и 100. Общите заявки са ~10, а размера на индекса е ~60kb. Loading time-a зависи според локацията на самия тест и поради тази причина предпочитам този резултат да го деля на две части – От чужбина е ~1s преди кеш и 600ms след кеш. От наша страна резултатите са малко по-различни. Първата заявка е под секунда, а след като информацията се кешира съм стигал минилано до 180ms. На практика това всичко съм го постигнал само с продуктите на Litespeed, като се надявам скоро да смъкна всички loading times още повече.
В заключение мога да споделя първо да не трупате страниците си с плъгини, тежки темплейти, излишен код и подобни неща. След това помислете малко за подобни “комбо” кеширане, защото определено си заслужава. Може да се запознаете допълнително с Litespeed, както и с няколко допълнителни материала от Jump.bg.