Кеширование, способ увеличить быстродействие сайта

Каждый из нас посещает несколько сайтов в день, и мы сильно разражаемся, когда сайт открывается медленно, либо какое-либо действие на сайте выполняется медленно, некоторые даже закрывают такие сайты. Более менее оптимальная скорость открытия страниц сайта не должна превышать 1 с, если это время увеличивается, то посетитель очень часто не дожидается появления страницы в своем браузере и просто закрывает сайт.

В эпоху статичных сайтов, когда каждой странице соответствовал отдельный файл HTML, основное время тратилось на скорость ответа сервера и передачу информации по сети. Сейчас у большинства посетителей скорость соединения превышает 10-30Мбит, раньше такого и не снилось! Однако есть сайты, которые открываются очень медленно, не смотря на мощное оборудование и высокоскоростные сети. В чем же дело?

Мы уже писали, что современные сайты динамические, каждая страница создается из разных частей на лету. Информация собирается из разных частей, из файлов, из базы данных. На формирование каждой страницы нужно довольно много ресурсов и времени. Зачастую код программы сайта не оптимальный, например, в циклах выполняются одинаковые операции, или циклически выбирается однотипная информация из базы, вместо того что бы сделать выборку только один раз. Крупные порталы могут иметь гигабайты информации, которые накапливаются годами, и поэтому с каждым разом выбирать эту информацию становится сложнее и затратнее. Бывает слишком сложные алгоритмы, которые имеют множество циклов.

Увеличение мощности сервера.

Первое что может прийти в голову это увеличение мощности сервера, например, увеличить объем оперативной памяти, в этом случае большая часть информации будет в быстрой памяти. Можно увеличить мощность процессора. Да, это частично решит проблему, но не кардинально.

Кеширование

Можно заметить, что большая часть страниц создается из одних и тех же данных, например, из базы данных, зачем при каждом посещении обращаться к громоздким данным!? Тем более эти данные не изменились с последнего посещения! Сразу возникает идея сохранить эту страницу в виде цельного файла, и отдавать его другому посетителю как есть, в этом случае страница будет открываться практически мгновенно! По этому принципу работает кеширование. При проектировании сайта нужно сразу применять данную технологию. Внедрение в уже готовый сайт, проблематично и будет выглядеть как «костыли». При неправильной работе кеша может получиться так, что регистрированный посетитель может увидеть информацию другого посетителя, или владелец добавит новую новость, а посетитель ее долго не сможет увидеть.

Кеширование в Zend Framework 3

Наши сайты изначально разрабатываются с применением технологии кеширования. Фреймворк предлагает гибкие механизмы кеширования, от отдельных ресурсоемких функций, до кеширования всей страницы целиком. Хранить кеш можно в файлах, памяти, высокоскоростных хранилищах. Внимательный читатель задаст вопрос, а что если мы поменяем содержимое страницы, например, базе данных, откуда кеш узнает что эта информация изменилась и ее нужно обновить в кеше? Ответ прост, фреймфорк предлагает мощные средства управления кешем, это ключи и теги, а так же существует понятие «время жизни кеша». При обновлении информации, наша программа в админ панели сайта просто обращается в систему управления кешем с запросом на удаление по ключу или тегам. Когда посетитель заходит на страницу, загружается обновленная информация. Правда для первого посетителя страница будет открываться дольше, т.к. новая информация должна быть извлечена и записана в кеш.

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

Веб-студия "Мастер Флеш"
+7 (928) 416 53 03
ул. Зиповская 5/2 350010 Россия, г.Краснодар

Перейти к списку