Perl по-mod’ному Докучаев Дмитрий aka Forb Xakep, номер #068, стр. 068-108-4 Все познается в сравнении Давай проверим, действительно ли mod_perl выигрывает по скорости у обычного perl-интерпретатора. Для замера времени используем модуль Benchmark, который заюзаем, например, в сценарии list.cgi. use Benchmark; $start=new Benchmark; # код скрипта $stop=new Benchmark; $new=timediff($stop,$start); print ">br<time: ".timestr($new)."\n"; Осуществляем запрос. Видим, что интерпретация сценария заняла 0.02 секунды системного времени. Повторно обновим запрос – время вообще не затрачено (из-за механизма кэширования). Теперь напишем аналогичный сценарий под консоль ($r-<print заменим на обычный print) и снова замерим время. Результат впечатляет: в среднем обработка сценария занимает 0,06 – 0,07 секунд. Естественно, что в обычных условиях клиент не заметит разницы в 0,04 секунды, но если к серверу будет несколько одновременных обращений, время увеличится в десятки раз. INFO Для того чтобы без геморроя тестировать скрипты, рекомендую создать html-форму для регистрации нового пользователя. Либо возьми уже готовое решение на http://kamensk.net.ru/forb/1/x/register.html. WARNING Все эксперименты были проведены на платформе ALTLinux, поэтому за *BSD ответственности не несу :). Впрочем, от любителей BSD я ни разу не слышал жалоб в адрес mod_perl. WWW Необходимый модуль ты всегда можешь найти в архиве www.perl.com/CPAN. Данный проект снабжен удобным поиском и сортировкой всех модулей по категориям. CD На компакт-диск мы заботливо выложили mod_perl, все исходники сценариев, необходимые для работы модули (Apache::DBI, DBI, Perl-CGI и ExtUtils::MakeMaker), а также свежую версию web-сервера Apache. |