Photo: Good old days

Photo, Photo Albums No Comments »

Work: All probabilities becomes certanties

Work No Comments »

Очень хорошо сказано

The law of big numbers insures that all probabilities becomes certanties.

Photo: Early Spring Flowers

Photo No Comments »

Early Spring Flowers

А вот тут видно как пчела держит в лапках шарик пыльцы

Photo: Sweet serenity

Photo No Comments »

Photo: Grass waves

Photo No Comments »

Work: Profiling PHP code with xhprof

Work No Comments »

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&amp;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

Work: полку MQ прибыло

Work No Comments »

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?

Work: Twitter goes from Ruby to Scala

Java, Work 2 Comments »

Что-то много вокруг разговоров о 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

Work: MindMap services

Work No Comments »

Надо бы попробовать эти сервисы, как на презентации рекомендуют

А вот и оригинальная презентация

Photo: Crushed Ice

Photo 1 Comment »

Entries RSS Comments RSS Log in Admin