Перегрузка сайта
Перегрузка происходит тогда, когда один процесс захватывает один или несколько ресурсов на длительный срок, в результате чего другие процессы выстраиваются в очередь, и весь хостинг замедляет свою работу, и есть риск, что работа может остановиться. Чтобы этого не произошло, на хостингах производят периодические блокировки сайтов, занявших слишком много ресурсов, пишут гневные письма владельцам сайтов и грозятся разорвать договор, если причина перегрузки не будет устранена.
Причин перегрузки несколько:
— Чрезмерная активность поисковых роботов
— Высокая посещаемость ресурса
— Программные коды низкого качества
Среди файлов, размещенных на платном хостинге, всегда есть логи, в которых в простом текстовом формате записано, какой IP, когда, куда и с какой страницы заходил, так что первые две причины необходимо выявлять именно на основе логов, которые фиксируют как посетителей-людей, так и ботов. Проверка логов выявила, что мой сайт был заблокирован по первой и третьей причинам одновременно, отчасти, быть может, и по второй. Чересчур активные поисковые роботы полезли на страницу регистрации и входа на сайт, на который можно зайти не только с помощью обычной регистрации, но и с помощью плагина Loginza, который, видимо, оказался тяжелым, если его активизировать много раз одновременно.
Трудно сказать, сильно ли повлияла посещаемость сайта, но могла повлиять. Судя по логам, DDOS-атак не было, но изначально, создавая блог, я рассчитывала на посещаемость в 100-200 человек в день, однако она превысила мои ожидания, а в последние дни и вовсе достигла 2500. В моем блоге есть несколько докладов о космосе, которые вдруг всем понадобились в преддверии 50-летия Дня Космонавтики и немногим позже.
Установить причины проблемы — это полдела. Осталось применить меры. Плагин Loginza мне удалять не хочется, потому что он позволяет зайти в блог как по OpenID, так и с помощью распространенных ныне аккаунтов ВКонтакте, Facebook, Яндекс, Google, Twitter и других. Поэтому я прибегла к другой мере — установила лимит захода поисковых роботов в блог и закрыла от них страницу входа и регистрации.
Для этого нужно создать файл robots.txt, находящийся в корневом каталоге WordPress. Этот файл содержит указания для поисковых роботов. У меня уже был этот файл, он содержал запрет поисковым ботам заходить в админку. Осталось дополнить и разнообразить этот файл, и теперь он выглядит так.
User-agent: *
Disallow: /wp-admin
/wp-includes
/wp-login.php
Crawl-delay: 3
Строка User-agent содержит указания, для какие поисковых роботов действуют указания. Звездочка * означает, что они действуют на все боты.
Disallow — запрет на индексацию. Блокируем доступ к страницам, начинающимся с /wp-admin, /wp-includes, и к странице входа и регистрации.
Crawl-delay задает паузу в секундах для поисковых роботов.
Теперь файл robot.txt помещается в корневой каталог WordPress.
Кроме этого, рекомендуется установить плагин WP Super Cache, который генерирует статические html-файлы, периодически обновляемые, в результате чего тяжелые скрипты должны выполняться реже.
Be the first to comment on "Причины перегрузки сайта"