上周五我把Magento的问题从1.7升级到1.8后,Magento的问题很严重。
问题是我们在MySQL数据库中遇到了很多死锁。
我们的服务器设置是
1负载均衡器 4个Web服务器(Apache,PHP5,APC) 2个MySQL服务器(64 GB Ram,30核SSD HDD) - 1个Master(具有Memcache用于会话) - 1个Slave(具有用于缓存的Redis)
Magento 1.8的死锁率低于1.7,但仍然不时出现......
任何人都对如何解决这个问题有一些好主意。
130930 12:03:35
*(1)交易:
TRANSACTION 918EEC3B,ACTIVE 37秒开始索引读取
mysql表在使用1,锁定1
LOCK WAIT 41锁定结构,堆大小6960,50行锁定,撤消日志条目6
MySQL线程ID 51899,OS线程句柄0x7f9774169700,查询ID 2583719 xxx.xx.xxx.47 dbxxx更新
UPDATE m17_index_process
SET started_at
='2013-09-30 10:03:36'WHERE(process_id ='8')
* (1)等待获得此锁定:
RECORD LOCKS空格id 594 page no 3 n bits 208表PRIMARY
的索引xxx.xx.xxx.47 dbxxx
。m17_index_process
trx id 918EEC3B lock_mode X锁定rec而不是间隙等待
*(2)交易:
TRANSACTION 918EE3E7,ACTIVE 72秒开始索引读取
mysql表在使用1,锁定1
680个锁结构,堆大小80312,150043行锁,撤消日志条目294
MySQL线程ID 51642,OS线程句柄0x7f8a336c7700,查询ID 2586254 xxx.xx.xxx.47 dbxxx更新
UPDATE m17_index_process
SET started_at
='2013-09-30 10:03:40'WHERE(process_id ='8')
(2)HOLDS THE LOCK(S):
RECORD LOCKS空格id 594 page no 3 n bits 208表PRIMARY
的索引dbxxx
。m17_index_process
trx id 918EE3E7锁定模式S锁定rec而不是间隙
(2)等待获得此锁定:
RECORD LOCKS空格id 594 page no 3 n bits 208表PRIMARY
的索引dbxxx
。m17_index_process
trx id 918EE3E7 lock_mode X锁定rec而不是间隙等待
* 我们回滚交易(1)
最诚挚的问候。 拉斯穆斯
答案 0 :(得分:0)
似乎死锁是由索引进程引起的。尝试禁用自动索引Magento - Programmatically Disable Automatic Indexing
并手动完成。 还尝试禁用cron一段时间,并检查问题是否再次发生。
许多商店管理员可能会从不同的商店中保存产品。在这种情况下,产品保存可能会导致索引进程死锁。
由于