Leí varios blogs, intenté buscar en Google, pero no encontré ninguna satisfacción con ninguna solución. Tengo los siguientes problemas:
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) )
Traté de resolver esto aumentando innodb_pool_buffer_size
y wait_timeout
en my.ini pero no funcionó.
Cambié el motor de mi tabla de caché de Innodb a MyIasm. El problema desapareció pero no es una solución perfecta. El motor de la tabla se cambiará después de una actualización de drupal. Este problema no afecta nada en el sitio, pero no quiero que esto ocurra.
¿Alguna solución chicos?
7
performance
database
Sumit Madan
fuente
fuente
Respuestas:
Lee y sigue esta publicación ; asume InnoDB.
En particular, vea la parte que dice agregar lo siguiente al archivo settings.php.
fuente
$databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");
resolvió mi problema en mi servidor local. Todavía no lo revisé en el servidor en vivo. ¿Confirma que no dará ningún problema en el futuro si usted lo prueba? Estoy usando kickstart de comercio.La mejor manera de deshacerse de los errores de punto muerto de una vez por todas es mediante el módulo Asíncrono Prefetch Database Query Cache .
No puedo recomendarlo lo suficiente. Brillantemente escrito y grandes ganancias de rendimiento.
fuente