Есть ли Perl альтернатива YSlow? - PullRequest
4 голосов
/ 04 июля 2010

Мне бы хотелось, чтобы в Perl был инструмент для сбора полезной статистики для загрузки страниц (например, время / скорость загрузки, информация о CDN, заголовки, просмотр DNS, сжатия)

Кто-нибудь знает, существует ли он или есть место, где его можно узнать?

Ответы [ 2 ]

1 голос
/ 20 июля 2010

Возможно, вы захотите попробовать WWW :: Mechanize :: Timed , который расширяет модуль WWW :: Mechanize .Функции :: Timed позволят вам собирать информацию о том, сколько времени занимают ваши запросы.Базовый модуль :: Mechanize, который сам является подклассом LWP :: UserAgent, предоставит вам доступ к вашему ответу, включая заголовки, содержимое тела и изображения.Из них вы можете вычислить общий «вес» страницы, количество запросов и т. Д. Это не охватывает все, что делает YSlow (показывать внутреннюю часть DNS, лежащую в основе gethostbyname, будет хорошим трюком!), Но я надеюсь, что это место, с которого стоит начатьправильно понял ваш вопрос.

0 голосов
/ 10 июля 2010

Вы могли бы несколько раз запустить CGI perl (или любую другую программу perl) под профилировщиком и сканировать на общность.Я не видел подобного веб-интерфейса, но если у вас есть контроль над Perl-компонентами, документация здесь:

http://www.perl.com/pub/a/2004/06/25/profiling.html

В основном все сводится кзапустить вашу Perl-программу с -d: DProf, а затем, после ее завершения, запустить dprofpp в том же каталоге:

# perl -d:DProf ./foo.pl
# dprofpp

Обновление:

Да, это не то же самое, что протоколпрофилирование, как должным образом отмечено ниже, но нет альтернативы для perl.Если вы пытаетесь найти, откуда берется perl-часть медлительности, профилирование perl - хорошее место для начала.Такие продукты, как YSlow, будут отслеживать его чисто протокольные аспекты, будь то CGI perl, php или python.

Лично я использую его для профилирования своего сайта django, который написан на python и flash, и я профилирую этиотдельно от протокольной части системы, для которой я также использую YSlow.

Также есть плагины perl для "ddd", которые по крайней мере сделают его графическим:

http://www.gnu.org/software/ddd/

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

...