Ulf Wendel

PHP: PECL/mysqlnd_ms 1.5 alpha, mysqlnd_qc 1.1 alpha releases

| 1 Comment

Just in time for a PHP 5.5 code freeze, we are brushing over the Replication and Load Balancing plugin (PECL/mysqlnd_ms) and the Query Cache plugin (PECL/mysqlnd_qc) for PHP mysqlnd. PECL/mysqlnd_ms 1.5 is a step up from the previous version whereas PECL/mysqlnd_qc 1.1 is nothing but a maintenance release.

Replication and Load Balancing – better transaction awareness

PECL/mysqlnd_ms 1.5 monitors all mysqli function calls that change transaction status. Since PHP 5.5, te mysqli API gives you the same level of transaction control as SQL does. Thus, if only using mysql function calls, the plugin can do fully transaction aware load balancing.

The improved transaction awareness is not yet available with PDO_MySQL. PDO_MySQL needs some minor tweaks. I can only hope that we manage to implement them before the PHP 5.5 feature freeze happens. We have not delayed alpha, however, to wait for PDO_MySQL support. In general, PDO is not the strongest argument if you try to convince someone of PHP. Honestly, all of PDO could be in a better shape…

Query Cache plugin – APC update, for the last time?

PECL/mysqlnd_qc has seen most changes around APC. The query cache plugin can use the APC user cache as a (SHM) storage backend. This has always been a bit of a hack as there is no C API for other extensions to use the APC user cache. PECL/mysqlnd_qc is not only accessing – sort of – internal APIs of APC to get the job done but this has another side effect that has caused bug reports in the past. To use APC as a storage backend for PECL/mysqlnd_qc you have to build everything statically. Not quite the way distributions like it…

Depending on how APC develops, we’ll have to decide what to do with the APC support in PECL/mysqlnd_qc in the distant future…

Happy hacking!

@Ulf_Wendel Follow me on Twitter

One Comment

Leave a Reply

Required fields are marked *.

*