WL#8397: Increase table_open_cache_instances compiled default

Affects: Server-5.7   —   Status: Complete

We decided to change compiled-in default of "table_open_cache_instances" from 1
(old) to 16 (new).

User Documentation

Documentation changes:

Documentation of system variable 'table_open_cache_instances' at


Should be replaced with 


| System Variable   |Name              |table_open_cache_instances       |
|                   |Variable Scope    |Global                           |
|                   |Dynamic Variable  |No                               |
| Permitted Values  |Type              |integer                          |
|                   |Default           |16                               |
|                   |Min Value         |1                                |
|                   |Max Value         |64                               |
The number of open tables cache instances (default 16). To improve scalability by 
reducing contention among sessions, the open tables cache can be partitioned into 
several smaller cache instances of size table_open_cache / 
table_open_cache_instances . A session needs to lock only one instance to access 
it for DML statements. This segments cache access among instances, permitting 
higher performance for operations that use the cache when there are many sessions 
accessing tables. (DDL statements still require a lock on the entire cache, but 
such statements are much less frequent than DML statements.)

A value of 8 or 16 is recommended on systems that routinely use 16 or more cores.