alex1874: Блог

alex1874

Дата последнего входа: 02.05.2025 10:13:47
Дата регистрации: 09.04.2010 21:32:08
Пол: Мужской
День рождения: 18 марта

Увеличение скорости загрузки сайта путем кэширования сайта и буферизации вывода

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

С динамическими страницами чуть сложнее. Они сначала обрабатываются сервером, делаются запросы к базе данных и только потом отдается браузеру. Как вы понимаете время, затраченное на обработку страниц - увеличивается.

Я предлагаю вам реально работающую систему кэширования страниц с буферизацией вывода. Данный скрипт прекрасно работает в рамках CMS AF. Что делает данная система:

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

Сразу скажу, что данные сохраняются в статическом виде. Это дает нам огромное преимущество: ускорение загрузки страниц и снижение нагрузки на сервер, и базу данных.

Мало того для того чтобы записать динамическую страницу в статичный файл будем пользоваться простой буферизацией страницы.

Хватит теории - переходим к действию.

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

ob_start() – функция включения буферизации вывода. Все, что будет происходить после этой функции, будет сохранено во временное хранилище;
ob_get_contents() - вывод содержимого из временного хранилища;
ob_end_flush() - выключает буферизацию вывода, но перед этим отправляет содержимое буфера вывода пользователю и очищает буфер;

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

fopen() - открывает файл или URL
fwrite() - записывает содержимое в файл.
fread() – читает данные из файла.
fclose() - закрывает файл.

На сервере организуем папочку cache (назвать ее вы можете как угодно), в которой будем сохранять наши статичные файлы. Так же необходимо заготовить базу данных со следующими полями page и id. В поле page записывается название страницы: index, index1, index2 и т.д. Конечно, название страницы я привел условно в качестве примера.

Теперь внимательно читайте. Реализация скрипта на примере индексной страницы.

Новые темыОбъявленияСвободное общение
19:29 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
17:29 Как продвигать сайт с неуникальным контентом 
14:50 Индексация страниц 
12:36 У кого новостник, дайте пару советов плиз 
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
17:01 Absence в Армении 
23:19 Ребята подскажите какими сервисами и прогами вы пользуетесь для SEO продвижения? 
23:25 Обменник криптовалюты OnlyCrypto 
19:18 Размещение статей, ссылок и постовых на качественных ресурсах 
16:32 Продажа аккаунтов HH.RU 
15:14 Новый белый офер на медицину! 
13:22 Linken Sphere – браузер-антидетект нового поколения 
04:12 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
22:29 InOut-Exchange.com - обменник 24/7, которому доверяют 
22:06 Добро пожаловать в цифровой мир... 
19:42 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор 
22:08 Накрутка поисковых подсказок 
05:04 Точные прогнозы на футбол 
14:01 Union Pharm - топовая фарма-партнерка для профессионалов! 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
12:23 150+ хакерских поисковых систем и инструментов