17 Июль

Уменьшение нагрузки на сервер с помощью CronTab

Автор: West Blogger, 2017 год. 229

cron-i-phpСоздавая динамически изменяющиеся данные, столкнулся с проблемой, о которой не вспоминал довольно долго. Когда-то я уже ставил подобного рода информеры на свои сайты. И в один прекрасный момент они просто переставали отображаться. Тогда я не понимал причину, да и не особо на эту тему заморачивался. Перестал работать некритический функционал - просто снял и забыл. Сейчас же меня осенило, почему код, до этого работавший как часы, вдруг дал сбой. Но самое главное, проблема эта решалась достаточно легко с помощью использования CronTab хостинга.

Оказывается, проблема крылась в прямом проставлении загрузки данных через пхп с другого сайта. При каждом обновлении страницы отправлялся Get запрос на другой сервер, что при достаточно большом количестве посетителей и просмотров страниц создавало некое подобие ДДОС атаки на сервер владельца стороннего сайта. Естественно подобную ситуацию хозяева замечали и начинали блокировать айпишник хостинга, с которого отправлялись эти запросы. В этот момент функционал и переставал работать.

Полазив по интернету, встречал разные способы решения данной проблемы. В том числе и использования кэширования в пхп (создавалась резервная копия скрипта, отправлялась в кеш, специально созданную папочку на хостинге, и этот кеш обновлялся через заданное количество времени). Но, оказалось, есть гораздо более простой способ решения: это использование планировщика задач CronTab, который по идее должен присутствовать на любом хостинге.

panel-crontab

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


Категория: Оптимизация - Комментарий (1)
1 Комментарий »
  1. Хотя судя по всему эта хитрость не прокатила. Файл все равно обновляется в тот момент, как другой скрипт к нему обращается. Придется пробовать через кеш в пхп

    Комментарий от Westblogger  —  18.07.2017 @ 12:54 (мск)


Оставить комментарий




30.01.09 - 14.03.2021 © West Blogger. All rights reserved.