2010-07-04 4 views
4

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

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

+1

Я не понимаю, почему вы не просто используете YSlow. С Perl вам придется подключаться к различным компонентам браузера и т. Д. Не подходит для этого. – Timothy

+0

Если бы я хотел использовать 'get' или' LWP', я бы не загружал страницу через браузер. Я изменил «версию» на «альтернативу». Вы видите, к чему я иду? --- Я пытаюсь получить информацию о загрузке моей страницы через Perl без необходимости браузера – vol7ron

+0

Инструмент в Perl? Что ты имеешь в виду? Серверный Perl CGI или клиентский Perl-скрипт? Пожалуйста, уточните свой вопрос! AFAIK, YSlow написан на XUL + JavaScript и работает на стороне клиента; в то время как большинство связанных с Интернетом Perl-кода являются серверными. –

ответ

1

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

+0

Does :: Timed также включают в себя нагрузки от операций JavaScript? Я думал, что Mechanize не может обрабатывать инструкции JavaScript, таким образом, любые операции AJAX после нагрузки или нагрузки могут быть пренебречь. – vol7ron

+0

Вы правы, он не обрабатывает JavaScript. Механизация будет очень близка к тому, чтобы быть веб-браузером, если бы это произошло. Откуда вы идете отсюда, зависит от того, что вы пытаетесь сделать. Вы пытаетесь проанализировать журналы сервера? Запуск автоматических тестов на ваших собственных сайтах? Проводить исследования на других сайтах? Вместо того, чтобы изобретать YSlow, возможно, вы просто хотите аккумулировать свои данные? Вы можете попробовать http://developer.yahoo.com/yslow/help/beacons.html#yslow_beacon для метода извлечения показателей из YSlow. –

+0

После того, как вы бежите, вы можете автоматизировать просмотр URL-адресов с помощью расширения, такого как iMacros или CronZilla. Firefox будет использовать URL-адреса, указанные вами в указанном вами расписании, а YSlow (в автоматическом режиме) будет оценивать каждый URL-адрес и маяк вашего сервера сбора данных. Вы можете написать сборщик данных в Perl с одним из многих пакетов демонов, таких как Net :: Server, которые будут получать маяки и обрабатывать их. Не зная больше о вашем проекте, это все, что я могу вам предложить. Удачи! –

0

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

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

Это в основном сводится к управлению вашей PERL программу - d: DProf, а затем, после того, как он закончит, работает dprofpp в том же каталоге:

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

Update:

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

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

Кроме того, есть Perl плагины для «ДДД», который, по крайней мере, сделать его графическое:

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

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

+0

Ответ пригодится: Профилирование времени выполнения не совпадает с профилированием протокола. – daxim

+0

@ daxim: это не одно и то же, но это что-то полезное, и нет ничего особенного в Perl, о котором я знаю. если вы хотите быть критическим, по крайней мере найти что-то применимое для добавления. – eruciform

+0

ddd - отладчик; еще один инструмент, который полностью не подходит для выполнения YSlow. Что дальше, трекер утечки памяти? – daxim

 Смежные вопросы

  • Нет связанных вопросов^_^