Ich habe mehrere Blogs gelesen, versucht zu googeln, fand aber bei keiner Lösung eine Befriedigung. Ich habe folgende Probleme:
PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {cache_field} WHERE (cid LIKE :db_condition_placeholder_0 ESCAPE '\\') ; Array ( [:db_condition_placeholder_0] => field\_info:% ) in cache_clear_all() (line 163 of \includes\cache.inc).
PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction: SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) )
Ich habe versucht, dies durch Erhöhen innodb_pool_buffer_size
und wait_timeout
in meiner.ini zu lösen, aber es hat nicht funktioniert.
Ich habe die Engine meiner Cache-Tabelle von Innodb auf MyIasm geändert. Das Problem ist weg, aber es ist keine perfekte Lösung. Die Tabellen-Engine wird nach einem Upgrade von Drupal geändert. Dieses Problem hat keine Auswirkungen auf die Website, aber ich möchte nicht, dass dies auftritt.
Irgendeine Lösung, Jungs?
7
performance
database
Sumit Madan
quelle
quelle
Antworten:
Lesen und befolgen Sie diesen Beitrag . es geht von InnoDB aus.
Lesen Sie insbesondere den Abschnitt, der besagt, dass der Datei settings.php Folgendes hinzugefügt werden soll.
quelle
$databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");
mein Problem auf meinem lokalen Server zu lösen. Ich habe es noch nicht auf dem Live-Server überprüft. Bitte bestätigen Sie, dass es in Zukunft kein Problem geben wird, wenn es von Ihnen getestet wird. Ich benutze Commerce Kickstart.Der beste Weg, um Deadlock-Fehler ein für alle Mal zu beseitigen, ist das Asynchronous Prefetch Database Query Cache- Modul.
Ich kann es nicht genug empfehlen. Brillant geschrieben und große Leistungssteigerung.
quelle