host_loading

Сайт на Perl и виртуальный хостинг

12 июля 2013 11

Давным-давно, где-то в конце 2005 года запустил я один сайтик. Работал он исправно: и людей радовал, и рекламку мне откручивал и все были вроде бы довольны. Но имелся один нюанс — сайт был написан на Perl, и иногда очень злил моего хостера тем, что в часы-пик вызывал большие нагрузки. Сайт рос и развивался, посещаемость росла, а с ней и, естественно, нагрузки. Где-то через год, в период, так сказать, кульминационного момента жизни проекта, я принял решение немного подкорректировать его концепцию и полностью отказаться от использования на сайте и Perl, и всех сервисов, что были на нем написаны. Аренда сервера в то время не рассматривалась, так как ее стоимость была какой-то уж совсем запредельной, по-крайней мере для меня. Да, и опыта его администрирования на тот момент у меня практически не было.

Reg.ru: Регистрируем домены в любой зоне мира
Reg.ru: Регистрируем домены в любой зоне мира

Но статья совершенно не об этом. Спустя лет 5, уже после клинической смерти проекта, я решил развернуть тот самый старый сайт на Perl на другом виртуальном хостинге. Тариф был вроде бы не из дешевых, и даже не средний, ресурсов тьма, казалось бы, посещаемости самый минимум, но ни тут-то было — нагрузки были просто невероятные. Уже и код был максимально оптимизирован. На этой почве был даже произведен достаточно глубокий редизайн сайта. На веб-сервер были установлены модули кэширования (CGI::Cache и т.п.), динамики был самый минимум, браузеру отдавалась практически одна статика. Причем перестройка кэша происходила не чаще 1 раза в 3 дня, но все равно ничего не помогало, даже в эти 3 статичные дня. Перегрузы были ежедневно, а то и по-несколько раз в день. В один прекрасный летний день меня вконец достали эти ежедневные нервотрепки и смс от Яндекс Вебмастера о том, что сайт снова лежит, я взял и полностью переписал сайт на PHP, урезав лишь кое-какие незначительные функции. Синтаксис языков в целом схож — с этим проблем не было. Немного напрячься пришлось лишь только в вопросе сохранения ссылочной структуры. И дело даже не в выдаче и позициях, просто большая часть страниц уже долгое время сдана в аренду под размещение ссылок, и терять рекламодателей очень не хотелось. Но и этот вопрос оказался легко решаем: можно просто заставить исполняться PHP в директории CGI-BIN с файлах с расширением .PL. Достаточно в .htaccess внутри CGI-BIN прописать буквально одну строчку инструкций:

AddType application/x-httpd-php .pl


В общем, мораль басни в том, что никогда не запускайте сайты на Perl на виртуальном хостинге. Даже со средней посещаемостью в районе 50 хостов в сутки ваш сайт будет тормозить, буксовать и ругаться на то, что у вас очень мало ресурсов.

Ниже привожу статистику по потреблению ресурсов от моего хостера. Сайт был перезапущен вечером 10 июля, и это очень хорошо заметно на графике.

Высокая нагрузка на виртуальный хостинг от Perl-скриптов

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее