Андрей Аксенов: “Как готовить Sphinx” / мастер-класс, Киев, 18-ое июня

Конференции, Операционные системы, Программирование 01.06.2011


В субботу, 18-го июня в Киеве пройдет мастер-класс создателя движка полнотекстового поиска Sphinx Андрея Аксенова ”Как готовить Sphinx”.

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

Sphinx используют такие монстры, как CraigsList, DailyMotion, Meetup, HupPages, HabraHabr и еще десятки высоконагруженных сайтов такие как Кинсбург. Андрей Аксенов выступал на многочисленных конференциях в России: “DevPoint 1-2″, “РИТ”, “DevConf 2011″, “HighLoad ++”. Организатор конференции пользователей Sphinx в Москве. Автор нашумевшего доклада “Как прекратить писать”.

Дополнительная информация и подробный план мастер-класса можно посмотреть на сайте http://www.smartme.com.ua/sphinx-workshop/

FreeBSD. Установка MySQL 5.5.9 и SphinxSE

Операционные системы 02.03.2011

Захотелось поставить на новый сервер MySQL 5.5, но в документации по установке SphinxSE этой версии MySQL нету. Погуглив и попробовав разные варианты я составил небольшую статью...

Сборка плагина

Тут все просто, сливаем из портов сорцы MySQL, сливаем патч, сливаем sphinx из транка и собираем все вместе.

cd /usr/ports/database/mysql55-server
make fetch
cp /usr/ports/distfiles/mysql-5.5.9.tgz /tmp
cd /tmp
svn co http://sphinxsearch.googlecode.com/svn/trunk sphinx-trunk
fetch http://www.coreseek.cn/uploads/csft/patch/Sphinx_1.11-dev_sphinxse_mysql-5.5.8.diff
tar -xzf mysql-5.5.9.tar.gz
cd sphinx-trunk
patch -p0 < ../Sphinx_1.11-dev_sphinxse_mysql-5.5.8.diff
cp -R mysqlse ../mysql-5.5.9/storage/sphinx
cd ../mysql-5.5.9
cmake . -DCMAKE_BUILD_TYPE=Release -DWITH_SPHINX_STORAGE_ENGINE=1
make
cp storage/sphinx/ha_sphinx.so /usr/local/lib/mysql/plugin/ha_sphinx.so

Так как у меня уже был поставлен MySQL 5.5 из портов, то я не запускал make install, поэтому его тут и не привел. И вам советую поставить из портов.

Установка плагина

Заходим в mysql-клиент:

INSTALL PLUGIN sphinx SONAME "ha_sphinx.so";
SHOW ENGINES;

По мотивам http://sphinxsearch.com/forum/view.html?id=6862#32268

Nginx. Использование PHP в режиме FastCGI с помощью spawn-fcgi

Операционные системы 25.11.2010

php-fastcgi

В прошлой статье о FastCGi — Nginx. Использование PHP в режиме FastCGI с помощью php-fpm я рассказал как использовать php-fpm спаунер (надо сказать, что с тех времен все сильно поменялось, например вышел php 5.3.3 и php-fpm стал входить в дистрибутив php, а так же поменялся формат конфига php-fpm). Сегодня расскажу как использовать spawn-fcgi, некогда входивший в дистрибутив lighttpd, а ныне являющийся отдельным проектом.

Установка

Перед установкой спаунера убедимся, что PHP собран с поддержкой CGi:

[X] CGI        Build CGI version

Далее заходим в порты и устанавливаем spawn-fcgi:

cd /usr/ports/www/spawn-fcgi
make install clean

Читать полностью »

FreeBSD. XHProf для анализа производительности PHP

Операционные системы, Программирование 25.11.2010

Решил я воспользоваться утилитой для профилирования производительности веб-приложения XHProf от Facebook. И она мне так понравилась, что я решил написать про неё небольшой пост.

Утилита проводит анализ работы сайта, выводит информацию о использование каждой функции на пути работы приложения (например, загрузки определенной страницы сайта), а именно: количество вызовов определенной функции, затраченное время, кол-во потребляемой памяти и ресурсов процессора.

Профилирование — сбор характеристик работы программы, таких как время выполнения отдельных фрагментов (обычно подпрограмм), число верно предсказанных условных переходов, число кэш промахов и т. д. Инструмент, используемый для анализа работы, называют профилировщиком. Обычно выполняется совместно с оптимизацией программы.

Профилирование в Wikipedia

Читать полностью »

Nginx. Кеширование с помощью fastcgi_cache

Операционные системы 20.11.2010

Устал я от того что мой блог долго грузится, но менять движок с WordPress на что-либо другое пока нет времени, а переезд на новый более мощный сервер всё время затягивается и решил прикрутить кеширование на стороне Nginx. Так как блог работает на fastcgi, то буду использовать fastcgi_cache, если вы используете связку Nginx+Apache, то вам следует использовать proxy_cache, как я понял там отличий особых нет.

Некоторые блоки мне всетаки надо оставить вне кеша, поэтому буду использовать ssi.

Настройка

У меня много хостов на одном сервере, но мне надо настроить кеш только для одного хоста. Определим кеш для моего блога в nginx.conf, секция http:

fastcgi_cache_path /var/cache/nginx/adw0rd
    levels=1:2
    keys_zone=adw0rd:16m
    max_size=256m
    inactive=1d;

Читать полностью »