J'ai un site Web très fréquenté où il est possible que des milliers de nouveaux enregistrements soient insérés toutes les heures.
Cette seule erreur paralyse le site:
PDOException: SQLSTATE[40001]: Serialization failure: 1213
Deadlock found when trying to get lock;
try restarting transaction: INSERT INTO {location_instance}
(nid, vid, uid, genid, lid) VALUES (:db_insert_placeholder_0,
:db_insert_placeholder_1, :db_insert_placeholder_2,
:db_insert_placeholder_3, :db_insert_placeholder_4);
Array ( [:db_insert_placeholder_0] => 1059 [:db_insert_placeholder_1] =>
1059 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] =>
cck:field_item_location:1059 [:db_insert_placeholder_4] => 1000 )
Je serais très surpris si MySQL ne pouvait pas gérer ce type de charge. Donc, mes questions sont alors, est-ce un problème de base de données et comment puis-je configurer MySQL pour pouvoir gérer autant de trafic?
J'ai une copie de mon site Web installée sur un serveur de développement avec des scripts qui simulent la charge de contenu ajoutée au site Web. J'utilise Ubuntu, pile LAMP, avec 16 Go de RAM.
Certes, je ne connais pas très bien les bases de données. En fait, je commence avec le fichier my.cnf par défaut qui l'accompagne après la fin de «apt-get install». Les tables sont toutes Innodb. Quels paramètres de configuration et quelle approche recommanderiez-vous pour commencer à résoudre ce problème?
Faites-moi savoir de plus amples informations dont vous pourriez avoir besoin.
Merci