2017-07-31 1 views
0

Nous hébergeons notre application de messagerie api qui est d'avoir une grande insertion de données et de données lues. Nous essayons d'atteindre le maximum de notre serveur ubuntu 16 avec 55cpu et 128gb ram et 1 disque SSD. Ci-dessous « résultat d'état innobdb »limite de noyau "limite de fichier ouvert" et mysql "Opened_files" liés?

29 queries inside InnoDB, 517 queries in queue 
32 read views open inside InnoDB 
Process ID=2197, Main thread ID=140312433551104, state: sleeping 
Number of rows inserted 169904, updated 1662462, deleted 3, read 44626802863 
26.33 inserts/s, 202.20 updates/s, 0.00 deletes/s, 6061352.15 reads/s 

Pendant que j'ai vérifié que je pouvais voir notre limite de fichier ouvert était 65000 pour MySQL et l'utilisation Opened_files dans MySQL est 84981. Ma question est « Est-limite du noyau « limite de fichier ouvert » et mysql Opened_files liés? "

show global variables like 'open%'; 
+------------------+-------+ 
| Variable_name | Value | 
+------------------+-------+ 
| open_files_limit | 65536 

MariaDB [(none)]> show status like '%Opened_files%'; 
+---------------+-------+ 
| Variable_name | Value | 
+---------------+-------+ 
| Opened_files | 84981 | 
+---------------+-------+ 
1 row in set (0.00 sec) 

Nous éprouvons d'énormes pics soudains et anormaux notre api commence à diminuer les connexions.

+0

nisamudeen97: veuillez accepter la réponse si elle répond à votre question – tukan

Répondre

2

Ce sont deux choses différentes. Un Opened_files est un compteur qui vous indique combien de fois vous avez ouvert la table depuis le dernier redémarrage mysqld. Si vous souhaitez régler votre base de données que vous pouvez obtenir une meilleure performence par tunning table_open_cache, mais qui est hors de la portée de cette question

D'autre part open file limit est une limite du système d'exploitation difficile, qui vous indique combien de fichiers vous peut avoir ouvert en même temps. La limite est généralement légèrement inférieure à la 2^16 (alias votre limite de fichier). Plus de détails est encore plus long à expliquer et hors de portée.

Pour répondre à votre question directement: Ils ne sont pas liés.

1

La valeur intéressante serait le quotient de Opened_files/Uptime. Sous, disons, 2/seconde est «raisonnable».

Également pertinent: table_open_cache, innodb_open_files, et autres.

Pour une analyse plus approfondie, s'il vous plaît fournir

  • taille RAM
  • SHOW VARIABLES;
  • AFFICHER LE STATUT GLOBAL;

L'extrait que vous avez fourni semble indiquer des analyses de table lourdes? Peut-être manquant certains index? Discutons certaines des requêtes communes ou plus lentes.