Мониторинг для Redis
Краткий экскурс:
Redis – это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить данные, вытесняя старые записи новыми, Redis хранит информацию постоянно.
Memcached позволяет хранить массивы, но эти массивы будут сохранены в виде строк, т.к. происходит их сериализация. Следовательно, атомарные операции над такими массивами невозможны.
Redis же позволяет хранить как строки, так и массивы, атомарные операции pop / push, делать выборки из таких массивов и кучу других полезных для программистов вещей.
Плюс ко всему, Redis очень производителен: 110000 SET запросов в секунду, 81000 GET запросов в секунду на Xeon X3320 2.5Ghz Linux 2.6.x (более детально о производительности), а также хорошо масштабируем (master/slave).
Так как с точки зрения администрирования мониторить нужно всё, написал плагин для munin, который мониторит некоторые параметры Redis:
- connected clients
- requests per second
- connections per second
- used memory
Остальные параметры в условиях конкретной задачи не были важны, но их легко можно мониторить, слегка модифицировав плагин (достаточно базовых знаний Perl).
Прочитать остальную часть записи »
Java on CentOS
При сборке Sun JDK что под CentOS, что под федору, криво линкуются deps для jdbc (джавовский ODBC, который служит для соединения с MySQL/PostgreSQL/etc из Java).
Как следствие, при попытке установить всё это добро одна из rpm не устанавливается, ссылаясь на следующее:
libodbcinst.so() is needed by java-1.6.0-sun-jdbc-1.6.0.14-1jpp.i586
libodbc.so() is needed by java-1.6.0-sun-jdbc-1.6.0.14-1jpp.i586
Если работа с базой в Java приложении не планируется, можно забить на это, и просто не ставить RPM java-1.6.0-jdbc-блаблабла.
В моём случае работа с базой была необходима, поэтому немного погуглив, был найден вот этот фикс.
Если у Вас не получится переписать spec файл, готовые RPM Sun JDK 1.6.0 update 14 под
CentOS 5.3 i386 можно взять здесь (возможно, соберу ещё под x86_64 при наличии свободного времени)
Устанавливается всё добро так:
1. yum -y install unixODBC unixODBC-devel
2. скачиваете wget’ом (curl’ом, либо чем угодно) java-*.rpm
3. yum -y –nogpgcheck localinstall java-*.rpm
memcached 1.4.2
Не знаю, почему Dag Wieers до сих пор держит в rpmforge memcached-1.2.6, учитывая, что давно есть 1.4.2 stable.
Программисты попросили именно 1.4.2, под EL5 rpm нигде нету, пришлось собрать свой.
CentOS 5.3 (i386 и x86_64), забрать можно здесь (memcached-debug в RPM не входит)