The first public mysqlnd plugin adds client side query result caching to all MySQL extensions of PHP (ext/mysql, ext/mysqli, PDO_MySQL). The cache is written in C. It does not change any of the PHP MySQL APIs and works with any PHP application using MySQL. Query results are stored on the client. Cached data can be stored in main memory, APC, Memcache, SQLite (theoretically - via SQLite …
[Read more]Pretty much exactly a year ago many german PHP meetups have held BBQs to celebrate the summer, to invite guests to join their meetups in a very relaxed atmosphere and to enjoy themselves. During the PHP BBQ week 2009 more than 140 people got connected and had fun . And, of course, I loved visiting all the meetups. I am not touring through the user groups this year. However, and that is fantastic news, some user groups have organized BBQs again. Today, June 22th - 19:00, you can enjoy a BBQ in Karlsruhe organized by the PHP user group Karlsruhe and sponsored by urlaubswerk.de! Check their homepage for the latest details.
KIT Campus Süd – Center für Innovation & Entrepreneurship (CIE) …
[Read more]Pretty much exactly a year ago many german PHP meetups have held BBQs to celebrate the summer, to invite guests to join their meetups in a very relaxed atmosphere and to enjoy themselves. During the PHP BBQ week 2009 more than 140 people got connected and had fun . And, of course, I loved visiting all the meetups. I am not touring through the user groups this year. However, and that is fantastic news, some user groups have organized BBQs again. Today, June 22th - 19:00, you can enjoy a BBQ in Karlsruhe organized by the PHP user group Karlsruhe and sponsored by urlaubswerk.de! Check their homepage for the latest details.
KIT Campus Süd – Center für Innovation & Entrepreneurship (CIE) …
[Read more]The mysqlnd plugin API is a well hidden gem of mysqlnd. Mysqlnd plugins operate on a layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Plugins can take over classical MySQL Proxy tasks such as Load Balancing, Monitoring and Performance optimizations. But due to the different architecture and location mysqlnd plugins do not share some common MySQL Proxy annoyances: no single point of failure, no dedicated proxy server to deploy, no new programming language to learn (Lua).
Slides from the IPC Spring conference
This blog posting and today’s presentation at the IPC Spring 2010, a …
[Read more]The mysqlnd plugin API is a well hidden gem of mysqlnd. Mysqlnd plugins operate on a layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Plugins can take over classical MySQL Proxy tasks such as Load Balancing, Monitoring and Performance optimizations. But due to the different architecture and location mysqlnd plugins do not share some common MySQL Proxy annoyances: no single point of failure, no dedicated proxy server to deploy, no new programming language to learn (Lua).
Slides from the IPC Spring conference
This blog posting and today’s presentation at the IPC Spring 2010, a …
[Read more]
C and PHP MySQL clients can set a connection timeout before a
connection is established to MySQL. The MySQL C API manual states about
MYSQL_OPT_CONNECT_TIMEOUT
, which is equal to PHPs
MYSQLI_OPT_CONNECT_TIMEOUT
:
MYSQL_OPT_CONNECT_TIMEOUT
Connect timeout in seconds.
From: http://dev.mysql.com/doc/refman/5.1/en/mysql-options.html
That is half of the story. The actual behaviour depends on the library you use, the operating system and the transport protocol (TCP/IP, Unix domain sockets, Windows named pipes, Shared Memory).
C users can choose between the MySQL Client Library, which ships with the MySQL server, and the …
[Read more]
C and PHP MySQL clients can set a connection timeout before a
connection is established to MySQL. The MySQL C API manual states about
MYSQL_OPT_CONNECT_TIMEOUT
, which is equal to PHPs
MYSQLI_OPT_CONNECT_TIMEOUT
:
MYSQL_OPT_CONNECT_TIMEOUT
Connect timeout in seconds.
From: http://dev.mysql.com/doc/refman/5.1/en/mysql-options.html
That is half of the story. The actual behaviour depends on the library you use, the operating system and the transport protocol (TCP/IP, Unix domain sockets, Windows named pipes, Shared Memory).
C users can choose between the MySQL Client Library, which ships with the MySQL server, and the …
[Read more]
Sometimes you forget about what you did years ago, for example
the ability of mysqlnd write back traces of slow queries into the
PHP error log . Regardless if you use mysqlnd with ext/mysql,
ext/mysqli or PDO_MYSQL, mysqlnd is able to tell you which of
your code has executed a slow query. To enable the feature, you
need to compile PHP with CFLAGS="-D A0"
.
A0
? Yeah, we must have had some doubts about the
usefulness.
Slow queries
The MySQL server is capable of monitoring queries and recording slow queries in a slow query log. MySQL can log the following types of queries:
- SQL statements that took more than
long_query_time
seconds to execute - SQL statement that required at least
min_examined_row_limit
rows to be examined (MySQL 5.1.21+) - SQL statement …
Sometimes you forget about what you did years ago, for example
the ability of mysqlnd write back traces of slow queries into the
PHP error log . Regardless if you use mysqlnd with ext/mysql,
ext/mysqli or PDO_MYSQL, mysqlnd is able to tell you which of
your code has executed a slow query. To enable the feature, you
need to compile PHP with CFLAGS="-D A0"
.
A0
? Yeah, we must have had some doubts about the
usefulness.
Slow queries
The MySQL server is capable of monitoring queries and recording slow queries in a slow query log. MySQL can log the following types of queries:
- SQL statements that took more than
long_query_time
seconds to execute - SQL statement that required at least
min_examined_row_limit
rows to be examined (MySQL 5.1.21+) - SQL statement …
Yes, 150 means we added some 30 performance statistics to the
MySQL native driver for PHP (mysqlnd) since monday. The
new statistics are explained in three words: counting
COM_*
commands. COM_*
commands refers
to the command packets of the MySQL client server protocol. For example,
COM_QUERY
is used to execute nonprepared SQL
statements.
Please check the earlier blog postings on how to use and access the statistics: PHP: 59 tuning screws for mysqlnd, PHP: 120 tuning screws for mysqlnd. The information given in those articles will find its way into the PHP and MySQL manual. The MySQL documentation team is working on an …
[Read more]