• Installing/Configuring
  • Runtime Configuration

  • Runtime Configuration
  • Runtime Configuration

    Runtime Configuration

    The behaviour of these functions is affected by
    settings in php.ini.

    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 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

    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

    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

    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

    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

    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.


    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
    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

    mysqlnd_qc.slam_defense_ttl integer

    TTL for stale cache entries which are
    served while another client updates the entries. Supported by
    APC storage


    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

    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

    mysqlnd_qc.memc_server string

    MEMCACHE storage handler: memcache server

    mysqlnd_qc.memc_port integer

    MEMCACHE storage handler: memcached server

    mysqlnd_qc.sqlite_data_file string

    sqlite storage handler: data file. Any
    setting but :memory: may be of little practical value.