Ich habe eine sehr stark frequentierte Website, auf der möglicherweise jede Stunde Tausende neuer Datensätze eingefügt werden.
Dieser eine Fehler lähmt die 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 )
Ich wäre sehr überrascht, wenn MySQL diese Art von Last nicht bewältigen könnte. Meine Fragen sind also: Ist dies ein Datenbankproblem und wie kann ich MySQL so konfigurieren, dass es so viel Verkehr verarbeiten kann?
Ich habe eine Kopie meiner Website auf einem Entwicklungsserver mit Skripten eingerichtet, die das Laden von Inhalten simulieren, die der Website hinzugefügt werden. Ich verwende Ubuntu, LAMP-Stack, mit 16 GB RAM.
Zugegeben, ich kenne mich mit Datenbanken nicht sehr gut aus. Tatsächlich beginne ich mit der Standardeinstellung my.cnf, die nach Abschluss der 'apt-get-Installation' mitgeliefert wird. Tische sind alle Innodb. Welche Startkonfigurationseinstellungen und -ansätze würden Sie empfehlen, um dieses Problem zu lösen?
Lassen Sie mich wissen, welche weiteren Informationen Sie möglicherweise benötigen.
Vielen Dank