ฉันมีเว็บไซต์ที่มีปริมาณการใช้งานสูงซึ่งเป็นไปได้ที่จะมีการแทรกระเบียนใหม่ 1,000 รายการทุกชั่วโมง
ข้อผิดพลาดเดียวนี้ทำให้หมดอำนาจเว็บไซต์:
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 เพื่อให้สามารถจัดการปริมาณการใช้นี้หรือไม่
ฉันมีสำเนาเว็บไซต์ของฉันติดตั้งบนเซิร์ฟเวอร์การพัฒนาพร้อมสคริปต์ที่จำลองการโหลดเนื้อหาที่ถูกเพิ่มเข้าไปในเว็บไซต์ ฉันใช้ Ubuntu, LAMP stack, พร้อม 16GB RAM
เป็นที่ยอมรับว่าฉันไม่ค่อยมีความรู้เกี่ยวกับฐานข้อมูล ในความเป็นจริงฉันเริ่มต้นด้วยค่าเริ่มต้น my.cnf ที่มาพร้อมกับมันหลังจาก 'apt-get install' เสร็จสิ้น ตารางเป็น Innodb ทั้งหมด คุณต้องการแนะนำการตั้งค่าการกำหนดค่าเริ่มต้นใดและเริ่มแก้ไขปัญหานี้อย่างไร
แจ้งให้เราทราบว่าคุณต้องการข้อมูลอะไรเพิ่มเติม
ขอบคุณ