différence entre les fichiers ouverts et d'ouvrir des fichiers dans mysql
Dans le dessous de statut, j'ai ouvert les fichiers de compter pour être "95349'.
cette valeur est en augmentation rapide.
mysql> show global status like 'open_%';
Open_files = 721
Open_streams = 0
Open_table_definitions = 706
Open_tables = 741
Opened_files = 95349
Opened_table_definitions = 701
Opened_tables = 2851
voir aussi cette.
mysql>show variables like '%open%';
have_openssl = DÉSACTIVÉ
innodb_open_files = 300
open_files_limit = 8502
table_open_cache = 4096
et
max_connection = 300
est-il concernant l'ouverture de fichiers et les fichiers ouverts. aura-t-il des problèmes de performances en raison de l'augmentation de opened_files valeur. C'est un serveur de 8 GD RAM et 500 GO de disque dur processeur: Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10 GHz. Il s'agit d'un serveur mysql.
ici pour la commande
ulimit-n;
1024 était le comte
le serveur est suspendu souvent. à l'aide de certains outils en ligne que j'ai optimisé certains paramètres déjà. besoin de savoir ce que l'autre personne devrait être optimisé ? dans ce cas, les fichiers ouverts comte permettra de réduire? est-il nécessaire que les fichiers ouverts comptage doit être d'une certaine limite. si oui, comment trouver la limite pour mon serveur. si ne suis pas claire certains où s'il vous plaît m'aider en posant davantage de questions.
OriginalL'auteur siva | 2014-03-06
Vous devez vous connecter pour publier un commentaire.
Opened_files est un compteur du nombre de fois que vous avez ouvert une table depuis la dernière fois que vous avez redémarré mysqld (voir la variable d'état de Disponibilité pour le nombre de secondes écoulées depuis le dernier redémarrage).
Open_files n'est pas un contre, c'est le nombre de fichiers ouverts.
Si votre Opened_files compteur augmente rapidement, vous pouvez peut-être le gain d'amélioration de la performance en augmentant la taille de la
table_open_cache
.Pour quelques conseils sur la performance des implications de cette variable (et quelques mises en garde sur une valeur trop élevée), voir:
Re vos commentaires:
Vous ne comprenez pas le but de la contre. Il augmente toujours. Il compte le nombre de fois qu'une opération particulière n'a eu lieu depuis le dernier redémarrage du serveur mysqld. Dans ce cas, l'ouverture d'un fichier pour une table.
Ayant une haute valeur dans un compteur n'est pas nécessairement un problème. Cela pourrait signifier tout simplement que votre mysqld a été en cours d'exécution pour le nombre de jours ou de semaines sans redémarrage de l'ordinateur. Donc, vous avez à regarder que le nombre par rapport à votre temps de Disponibilité (qui est, MySQL variable d'état
Uptime
, pas Linux temps de fonctionnement).Ce qui est plus significatif est le taux de l'augmentation d'un compteur, c'est comment rapide est-il grandir dans un intervalle donné de temps. Cela pourrait indiquer que vous êtes à la ré-ouverture de tables rapidement.
Normalement, MySQL ne devriez pas avoir à ré-ouvrir les tables, parce qu'il conserve une table ouverte de la poignée pour chaque table. Mais il ne peut avoir qu'un nombre fini de celles-ci. C'est ce que table_open_cache est pour. Dans votre cas, votre instance MySQL peut se "souvenir" qu'il a déjà ouvert jusqu'à 4096 tables en même temps. Si vous avez besoin d'une autre table a ouvert, il se ferme l'un des descripteurs de fichier et ouvre la table que vous avez demandé.
Donc, si vous avez plusieurs milliers de tableaux (ou des partitions de tables) et vous accédez à une grande variété d'entre eux rapidement, vous avez pu voir beaucoup de chiffre d'affaires dans la table ouvrir le cache. Qui serait indiqué par le contre Opened_tables plus en plus rapidement.
Donc le dimensionnement de la table_open_cache plus élevé signifie que MySQL peut retenir plus d'ouvrir la table des poignées, et éventuellement diminuer le taux de chiffre d'affaires.
j'ai trouvé que, selon un rapport de "Percona Outils pour MySQL" que pour cette configuration matérielle je ne peux pas augmenter table_open_cache plus. DONC, si je optimiser la requête complexe si mon opened_files nombre de séjour à 0.(voulez juste de comprendre le but de la surveillance opened_files compter dans mysql, optimisation des performances). Remarque: open_file est stable, en dessous des limites. donc je n'ai pas de problèmes avec ça.
OriginalL'auteur Bill Karwin
DONC la solution est soit d'augmenter mon matériel (en particulier de RAM), de sorte que je vais être en mesure d'augmenter le table_open_cache au-delà de 4096 ou pour optimiser la requête.
OriginalL'auteur siva