1. Pegando os valores atuais de open_tables e opened_tables
mysql> show global status like 'open%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Open_files | 0 |
| Open_streams | 0 |
| Open_table_definitions | 363 |
| Open_tables | 400 |
| Opened_files | 658 |
| Opened_table_definitions | 363 |
| Opened_tables | 42565 |
+--------------------------+-------+
7 rows in set (0,00 sec)
2. Descobrindo a taxa de ocorrência do Table Cache
Taxa de ocorrência = table_open_cache*100/Opened_tables.
= 400*100/42565
= 0.94%
Em geral este valor deve ser acima de 50%.3. Achar o total de tabelas do seu banco de dados
mysql> SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE';
+----------+
| COUNT(*) |
+----------+
| 144 |
+----------+
1 row in set (0,01 sec)
4. Encontrar threads atualmente conectadas ao banco de dados
mysql> show global status like '%Threads_connected%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_connected | 199 |
+-------------------+-------+
1 row in set (0,00 sec)
5. Calculando o valor do table_open_cache
Table_open_cache = total_tables*Threads_connected*.50
= 144*199*.50
= 14328
6. Calculando o valor do open_files_limit
open_files_limit= Table_open_cache*2
= 14328*2
= 28656
7. Editar as variáveis no arquivo
vi /etc/my.cnf
table_open_cache=39390
open_files_limit=78780
8. Reiniciar o serviço MySQL
Nenhum comentário:
Postar um comentário