Posted by & filed under Redis.

Let me introduce Redis

Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain stringshashes,listssets and sorted sets.

You can run atomic operations on these types, like appending to a stringincrementing the value in a hashpushing to a listcomputing set intersectionunion and difference; or getting the member with highest ranking in a sorted set.

In order to achieve its outstanding performance, Redis works with an in-memory dataset. Depending on your use case, you can persist it either by dumping the dataset to disk every once in a while, or by appending each command to a log.

Redis also supports trivial-to-setup master-slave replication, with very fast non-blocking first synchronization, auto-reconnection on net split and so forth.

Other features include a simple check-and-set mechanismpub/sub and configuration settings to make Redis behave like a cache.

You can use Redis from most programming languages out there.

Redis is written in ANSI C and works in most POSIX systems like Linux, *BSD, OS X and Solaris without external dependencies. There is no official support for Windows builds, although you may have some options.

Redis is a must-have for any modern LAMP stack. Its 2.2.1 release is now available on Dotdeb for Debian 6.0 “Squeeze” in amd64 and i386 flavors. If you want to use it with PHP, please install the php5-redis package.

Links :

Posted by & filed under MySQL.

MySQL 5.1.55 packages are now available on Dotdeb :

  • for Debian 6.0 “Squeeze” and Debian 5.0 “Lenny”
  • for the amd64 and i386 architectures

As usual, please read the Changelog of this maintainance release before upgrading.

Note 1 : the Pinba storage engine for MySQL has been rebuilt against MySQL 5.1.55 (Squeeze only)
Note 2 : Maatkit has been updated to 7284
Note 3 : if you had issues with loading the InnoDB plugin on Squeeze, your feedback is welcome (post a comment below).

Posted by & filed under Miscellaneous.

Today is a great day for the Debian community : Debian Squeeze has been released.

After 24 months of constant development, the Debian Project is proud to present its new stable version 6.0 (code name Squeeze). Debian 6.0 is a free operating system, coming for the first time in two flavours. Alongside Debian GNU/Linux, Debian GNU/kFreeBSD is introduced with this version as a technology preview.

The website of the Debian project also got a facelift. Please visit it for more information.

As a consequence, you have to take care of the content of your /etc/apt/sources.list file :

  • Squeeze is now refered as “stable”
  • Lenny is now known as “oldstable”

Therefore, if you want to stick to Lenny, change all the occurrences of “stable” to “oldstable” or “lenny”.

Posted by & filed under PHP.

Do you know Pinba? It’s a great tool and you really should use it on your LAMP platform.

Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.

It accumulates and processes data sent over UDP by multiple PHP processes and displays statistics in a nice human-readable form of simple “reports“, also providing read-only interface to the raw data in order to make possible generation of more sophisticated reports and stats.

With Pinba extension users also can measure particular parts of the code using timers with arbitrary tags.

Pinba is not a debugging tool in a common sense, since you’re not supposed to do debugging on production servers, but its main goal is to help developers to monitor performance of PHP scripts, locate bottlenecks in realtime and direct developers’ attention to the code that really needs it.

Here is a sample graph :

Pinba graphs

I’m proud to announce that Pinba is now available on Dotdeb for Debian 6.0 “Squeeze”. Once you read the Pinba features and usage, you’ll want to install those two packages :

  • pinba-mysql-engine : a custom MySQL engine to store all the gathered data efficiently. It has to be installed with the latest mysql-server packages.
  • php5-pinba : the PHP extension you’ll use to accumulate data and timers directly from your PHP scripts.

I hope you enjoy it.

Posted by & filed under PHP.

I just released PHP 5.3.5 packages for Debian 6.0 (a.k.a “Squeeze”), with some changes against the Lenny’s ones :

  • the packaging process has been improved : dependencies were cleaned up, PHP tests are now displayed, libtool 2.2 is now supported (thanks to the Debian team for their precious work)
  • 3 new useful extensions have been packaged : gearman, phpredis and xhprof (without its interface files)

With these new packages, Dotdeb’s support for Squeeze is still experimental, but almost complete. Some more packages could be added in a near future :

  • MySQL (or Percona) Server 5.5 will replace MySQL Server 5.1. More info here and here.
  • a Nginx backport

The installation instructions did not change : just add Dotdeb’s GnuPG key to your keyring, pick a mirror near you and add squeeze-related lines to your sources.list. For example :

deb squeeze all
deb-src squeeze all

And, of course, feel free to donate if you find Dotdeb useful.

Posted by & filed under PHP.

A few days after releasing PHP 5.3.4 and PHP 5.2.16, the PHP group announced an important security update with PHP 5.3.5 and PHP 5.2.17 :

This release resolves a critical issue, reported as PHP bug #53632 and CVE-2010-4645, where conversions from string to double might cause the PHP interpreter to hang on systems using x87 FPU registers.

The problem is known to only affect x86 32-bit PHP processes, regardless of whether the system hosting PHP is 32-bit or 64-bit. You can test whether your system is affected by running this script from the command line.

All users of PHP are strongly advised to update to these versions immediately.

The Dotdeb packages for Debian “Lenny” 5.0 are now available. You really should upgrade.

Posted by & filed under PHP.

After PHP 5.3.4 has been released by the PHP Group and after the corresponding Suhosin patch has been published by Stefan Esser, the PHP 5.3.4 packages for Debian “Lenny” 5.0 are now available on Dotdeb. Thanks for your patience.

Follow these instructions if you’re installing them for the first time. And as usual, please read the full announcement and the Changelog before upgrading.

Happy new year!

Posted by & filed under PHP.

PHP 5.2.16 has been released by the PHP Group a few days after PHP 5.2.15 (fixing an open_basedir issue). It is now available on Dotdeb for your Debian “Lenny” servers.

This maintainance release marks the end of support for PHP 5.2. You are strongly encouraged to upgrade to PHP 5.3 (read this migration guide).

Please read PHP 5.2.15 and 5.2.16 release announcements and the full Changelog before upgrading.

Posted by & filed under MySQL.

MySQL 5.1.54 packages are now available on Dotdeb in amd64/i386 flavours for Lenny and Squeeze.

As usual, please read the Changelog of this maintainance release before upgrading.

Now, about MySQL 5.5 (I was asked on Twitter or in the comments here), it will be available on Dotdeb as soon as it is in Debian Sid or experimental. Please be patient. If you don’t need some 5.5 specific features, such as semi-sync replication, and if you just need to boost your InnoDB performances, you really should take a look at your /etc/mysql/my.cnf file and enable the InnoDB plugin.