Очень хорошо сказано
The law of big numbers insures that all probabilities becomes certanties.
xhprof - маленький и простой профайлер для PHP.
Лицензия Apache 2.0 Работает только под Unix.
Компилируется и инсталлируется в два счёта. Статистику отдает через web интерфейс (PHP)
Очень удобно, никаких дополнительных программ, только браузер. Перед инсталляцией нужно не забыть поставить PHP development module
apt-get install php5-dev
А потом обернуть нужный код в
xhprof_enable(); <some code is here> $xhprof_data = xhprof_disable();
и готово.
Я для удобства обернул вообще все вызовы, и отдавал ссылку на страницу с собранной статистикой прямо в HTTP header. Выглядело вот так
// start profiling
xhprof_enable();
<some code is here>
// stop profiler
$xhprof_data = xhprof_disable();
include_once $XHPROF_ROOT . "/root/xhprof/xhprof-0.9.1/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/root/xhprof/xhprof-0.9.1/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
header("x-company-name-profile: http://xhprof.company-name.com/index.php?run=$run_id&source=xhprof_foo");
xhprof.company-name.com прописал в hosts на своём компьютере. А на сервере добавил в конфигурацию Apache виртуальный хост
<VirtualHost *:80>
ServerName xhprof.company-name.com
DocumentRoot /root/xhprof/xhprof-0.9.1/hprof_html
<Directory /root/xhprof/xhprof-0.9.1/hprof_html>
AllowOverride All
</Directory>
</VirtualHost>
Любопытно конечно сравнить с другим профайлером - XDebug
Evan Weaver на последней конференции QCon упомянул в частности, что Twitter написал свою собственную версию Message Queue на Scala - Kestrel. Вот ссылка на слайды. Они в Твитере конечно очень счастливы и всё такое, но вызывает недоумение не столько тайный смысл изобретения велосипеда, см. RabbitMQ или QPid или OpenAMQ или ZeroMQ или ActiveMQ или MSMQ, сколько очень посредственная производительность.
Если я правильно понимаю результаты с официальной страницы Kestrel даёт 227.5 транзакций в секунду на 2.5GHz 2008 model Macbook Pro.
В то время как ActiveMQ даёт 2000 транзакций в секунду на более медленном Intel Celeron 2.4 GHz.
И я даже не буду вдаваться в размеры самих сообщений, потому что сравнение будет ещё больше в пользу ActiveMQ.
И какой смысл в существовании Kestrel?
Что-то много вокруг разговоров о Scala, и с каждым днём всё больше и больше. Вот и Twitter туда же. Предали светлые идеалы Ruby.
“…One of the most important changes they introduced to improve performance in the last nine months is moving from a Ruby messaging middleware to a custom build JVM-based messaging middleware written in Scala.”
говорит Evan Weave
Надо бы попробовать эти сервисы, как на презентации рекомендуют
А вот и оригинальная презентация









