Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :InnoDb :l'attente du sémaphore a duré> 600 secondes. Nous plantons intentionnellement le serveur

À partir de votre rapport GLOBAL STATUS UPTIME de 1022 secondes, recherchez et considérez ces my.cnf/ini ajouter/modifier/désactiver avec le premier # ou SUPPRIMER pour éviter l'encombrement. Normalement, un seul changement est effectué par jour et par moniteur. Dans votre cas, avec des plantages de 18 minutes, faisons-les tous en un seul arrêt/redémarrage.

thread_cache_size=100 # from default because 83 threads created already, V8 CAP is 100 to avoid OOM
innodb_buffer_pool_size=6G # from default of 128M, was full in 17 minutes
table_open_cache=10000 # 1066 already opened in 17 minutes.

Besoin désespérément de votre AFFICHAGE DES VARIABLES GLOBALES ; et AFFICHER LE STATUT INNODB DU MOTEUR ; et complétez my.cnf/ini pour éviter de deviner des suggestions supplémentaires. dropbox.com ou pastebin.com sont des endroits raisonnables pour partager des données si vous atteignez les limites de stockage ici.

Recherchez '[MySQL] Semaphore wait has lasted' pour trouver des solutions antérieures dans stackoverflow.com dba.stackexchange.com ou serverfault.com (nos pw sont partagés par ces 3 sites, vous n'avez donc pas besoin de 3 comptes).

La restauration concernait 17 856 929 lignes. Dans une seule transaction, il s'agit d'une charge qui doit être analysée pour la diviser en nombres de lignes plus gérables pour une seule transaction.

mise à jour 2017-11-18 à propos de 09 UTC dans la section my.cnf/ini [mysqld] dont vous avez BESOIN

innodb_log_buffer_size=48M # from 256M
innodb_log_file_size=256M # from default of 48M

Aujourd'hui, ils sont inversés et constituent une partie importante de la cause de vos redémarrages de 17 minutes. Arrêt/redémarrage requis, aucune valeur ne peut être modifiée dynamiquement.