我的网站访问量很高,每小时可能会插入数千条新记录。
这个错误使网站瘫痪:
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 )
如果MySQL无法处理这种类型的负载,我将感到非常惊讶。那么,我的问题是,这是数据库问题吗?如何配置MySQL以处理这么大的流量?
我在开发服务器上设置了网站副本,脚本中的脚本模拟了添加到网站上的内容的负载。我正在运行带有16GB RAM的Ubuntu,LAMP堆栈。
诚然,我对数据库不是很了解。实际上,我从“ apt-get install”完成后附带的默认my.cnf开始。表都是Innodb。您将建议采用哪种初始配置设置和方法来开始解决此问题?
让我知道您可能需要更多的信息。
谢谢