У мене дуже високий веб-сайт із трафіком, де можливо щороку вставляти 1000 тисяч нових записів.
Ця одна помилка калічить сайт:
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, з 16 Гб оперативної пам’яті.
Правда, я не дуже обізнаний у базах даних. Насправді я починаю з типового my.cnf, який постачається з ним після завершення "apt-get install". Столи всі Innodb. Які початкові налаштування та підхід до налаштування ви б рекомендували розпочати вирішення цієї проблеми?
Дайте мені знати, яка додаткова інформація вам може знадобитися.
Дякую