非常にトラフィックの多いWebサイトを使用しており、毎時間数千の新しいレコードが挿入される可能性があります。
この1つのエラーがサイトに障害をもたらしています。
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を構成するにはどうすればよいですか?
Webサイトに追加されるコンテンツの負荷をシミュレートするスクリプトを使用して、開発サーバーにWebサイトのコピーをセットアップしました。私はUbuntu、LAMPスタック、16GBのRAMを実行しています。
確かに、私はデータベースについてあまり知識がありません。実際、私は 'apt-get install'の終了後に付属するデフォルトのmy.cnfから始めています。テーブルはすべてInnodbです。この問題の解決を始めるには、どのような初期構成設定とアプローチが推奨されますか?
さらに必要な情報がありましたらお知らせください。
ありがとう