Copyright 1997-2012 the PHP Documentation Group.
Copyright 1997-2012 the PHP Documentation Group.
PHP 5.3.3 or a newer version of
PHP.
PECL/mysqlnd_qc is a mysqlnd plugin. It plugs into the mysqlnd library. To use you this plugin with a PHP MySQL extension, the extension (mysqli, mysql, or PDO_MYSQL) must enable the mysqlnd library.
For using the
APC storage
handler with PECL/mysqlnd_qc 1.0 APC
3.1.3p1-beta or newer. PECL/mysqlnd_qc 1.2 has been
tested with APC 3.1.13-beta. The APC storage
handler cannot be used with a shared build. You cannot use the
PHP configuration directive extension to load
the APC and PECL/mysqlnd_qc extensions if PECL/mysqlnd_qc will
use APC as a storage handler. For using the APC storage handler,
you have to statically compile PHP with APC and PECL/mysqlnd_qc
support into PHP.
For using MEMCACHE storage handler: Use
libmemcache 0.38 or newer. PECL/mysqlnd_qc
1.2 has been tested with libmemcache 1.4.0.
For using sqlite storage handler: Use the
sqlite3
extension that bundled with PHP.
Copyright 1997-2012 the PHP Documentation Group.
This PECL extension is not bundled with PHP.
Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: http://pecl.php.net/package/mysqlnd_qc
A DLL for this PECL extension is currently unavailable. See also the building on Windows section.
Copyright 1997-2012 the PHP Documentation Group.
The behaviour of these functions is affected by settings in php.ini.
Table 22.78. mysqlnd_qc Configure Options
| Name | Default | Changeable | Changelog |
|---|---|---|---|
| mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM | |
| mysqlnd_qc.ttl | 30 | PHP_INI_ALL | |
| mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL | |
| mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL | |
| mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL | |
| mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL | |
| mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL | |
| mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM | |
| mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM | |
| mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM | |
| mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM | |
| mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL | |
| mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM | |
| mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM | |
| mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM | |
| mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL | |
| mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL | |
| mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL | |
| mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |
Here's a short explanation of the configuration directives.
mysqlnd_qc.enable_qc
integer
Enables or disables the plugin. If disabled the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.
mysqlnd_qc.ttl integer
Default Time-to-Live (TTL) for cache entries in seconds.
mysqlnd_qc.cache_by_default
integer
Cache all queries regardless if they begin with the SQL hint that enables caching of a query or not. Storage handler cannot overrule the setting. It is evaluated by the core of the plugin.
mysqlnd_qc.cache_no_table
integer
Whether to cache queries with no table name in any of
columns meta data of their result set, for example,
SELECT SLEEP(1), SELECT
NOW(), SELECT SUBSTRING().
mysqlnd_qc.use_request_time
integer
Use PHP global request time to avoid
gettimeofday() system calls? If using
APC
storage handler it should be set to the value
of
apc.use_request_time
, if not warnings will be generated.
mysqlnd_qc.time_statistics
integer
Collect run time and store time statistics using
gettimeofday() system call? Data will
be collected only if you also set
mysqlnd_qc.collect_statistics = 1,
mysqlnd_qc.collect_statistics
integer
Collect statistics for
mysqlnd_qc_get_core_stats?
Does not influence storage handler statistics! Handler
statistics can be an integral part of the handler
internal storage format. Therefore, collection of some
handler statistics cannot be disabled.
mysqlnd_qc.collect_statistics-log-file
integer
If mysqlnd_qc.collect_statistics and
mysqlnd_qc.collect_statistics_log_file
are set, the plugin will dump statistics into the
specified log file at every 10th web request during PHP
request shutdown. The log file needs to be writable by
the web server user.
Since 1.1.0.
mysqlnd_qc.collect_query_trace
integer
Collect query back traces?
mysqlnd_qc.query_trace_bt_depth
integer
Maximum depth/level of a query code backtrace.
mysqlnd_qc.ignore_sql_comments
integer
Whether to remove SQL comments from a query string
before hashing it to generate a cache key. Disable if
you do not want two statemts such as SELECT
/*my_source_ip=123*/ id FROM test and
SELECT /*my_source_ip=456*/ id FROM
test to refer to the same cache entry.
Since 1.1.0.
mysqlnd_qc.slam_defense
integer
Activates handler based slam defense (cache stampeding
protection) if available. Supported by
Default and
APC
storage handler
mysqlnd_qc.slam_defense_ttl
integer
TTL for stale cache entries which are
served while another client updates the entries.
Supported by
APC
storage handler.
mysqlnd_qc.collect_normalized_query_trace
integer
Collect aggregated normalized query traces? The setting
has no effect by default. You compile the extension
using the define NORM_QUERY_TRACE_LOG
to make use of the setting.
mysqlnd_qc.std_data_copy
integer
Default storage handler: copy cached wire data? EXPERIMENTAL – use default setting!
mysqlnd_qc.apc_prefix
string
The
APC
storage handler stores data in the
APC user cache. The setting sets a
prefix to be used for cache entries.
mysqlnd_qc.memc_server
string
MEMCACHE storage handler: memcache
server host.
mysqlnd_qc.memc_port
integer
MEMCACHE storage handler: memcached
server port.
mysqlnd_qc.sqlite_data_file
string
sqlite storage handler: data file.
Any setting but :memory: may be of
little practical value.

User Comments
Add your own comment.