expertenaustausch > comp.* > comp.datenbanken.mysql

Tim Ritberg (12.03.2019, 22:39)
Hallo!

Ich habe einen Maria--DB-Server 10.1 mit 850 Tabellen.
Table_open_cache steht auf 6000. Opened_Tables hat sich auf ca. 54000
hochgeschauckelt.

Das verstehe ich nicht, scheinbar ist der Table Cache nutzlos.

Tim
Axel Schwenke (14.03.2019, 15:58)
On 12.03.2019 21:39, Tim Ritberg wrote:
> Ich habe einen Maria--DB-Server 10.1 mit 850 Tabellen.
> Table_open_cache steht auf 6000. Opened_Tables hat sich auf ca. 54000
> hochgeschauckelt.


Seit wann? (SHOW GLOBAL STATUS LIKE 'Uptime')

Entscheidend ist nicht die Anzahl der table open Operationen, sondern dieRate.

> Das verstehe ich nicht, scheinbar ist der Table Cache nutzlos.


Eine Tabelle kann mehr als einmal im table_open_cache stehen. Wenn du bspw.
1000 offene Connections hast und jede liest aus Tabelle foo.bar, dann sind
das schon 1000 Einträge im Cache. Denn jeder Cache-Eintrag ist für ein
Tabellen-Handle. Vergleichbar mit einem CURSOR.

Oder falls du oder irgendein Maintenance-Job FLUSH TABLES macht, dann wird
der Cache geleert und es kommen neue opened_tables dazu.

Das ist im übrigen alles auch dokumentiert:

Tim Ritberg (14.03.2019, 16:27)
Am 14.03.19 um 14:58 schrieb Axel Schwenke:> On 12.03.2019 21:39, Tim
Ritberg wrote:
>> Ich habe einen Maria--DB-Server 10.1 mit 850 Tabellen.
>> Table_open_cache steht auf 6000. Opened_Tables hat sich auf ca. 54000
>> hochgeschauckelt.

> Seit wann? (SHOW GLOBAL STATUS LIKE 'Uptime')55 Tage


> Entscheidend ist nicht die Anzahl der table open Operationen, sondern die Rate.
> Eine Tabelle kann mehr als einmal im table_open_cache stehen. Wenn du bspw.
> 1000 offene Connections hast und jede liest aus Tabelle foo.bar, dann sind
> das schon 1000 Einträge im Cache. Denn jeder Cache-Eintrag ist für ein
> Tabellen-Handle. Vergleichbar mit einem CURSOR.
> Oder falls du oder irgendein Maintenance-Job FLUSH TABLES macht, dann wird
> der Cache geleert und es kommen neue opened_tables dazu.

Es läuft noch ein Slave mit. Statistik sagt aber 57, also 1x am Tag.
Tim