Nie tak dawno temu pisałem o impasie tutaj: PDOException: SQLSTATE [40001] : Błąd serializacji: 1213 znaleziono impas podczas próby uzyskania blokady;
Pomimo wszystkiego, co mój zespół programistów stara się zrobić, nadal występują takie błędy:
PDOException: SQLSTATE [40001]: Błąd serializacji: 1213 Podczas próby uzyskania blokady znaleziono zakleszczenie; spróbuj zrestartować transakcję: INSERT INTO {instancja_pozycji} (nid, vid, uid, genid, lid) WARTOŚCI (: db_insert_placeholder_0,: db_insert_placeholder_1,: db_insert_placeholder_2,: db_insert_placeholder_4,: db_insert_placeholder_4); Tablica ([: 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) w /var/www/website.com/sites/all/modules/location/location.module).
Pomimo określonej tabeli w tym przykładzie, ten błąd pojawia się w innych tabelach.
Oto moja sytuacja. Wziąłem duży projekt uniwersytecki. W dowolnym momencie z systemu korzysta 50 000 mieszkańców kampusu. Oprócz tego migruję setki z 1000 elementów treści zarówno ręcznie, jak i za pomocą niestandardowego kodu modułu (migracja ze starych danych uniwersyteckich) do nowej witryny Drupal 7.
Ten błąd nas zabija do tego stopnia, że jesteśmy prawie gotowi na zebranie pracy z ostatnich lat i pójść z czymś innym, jeśli Drupal nie jest w stanie poradzić sobie z tego rodzaju obciążeniem.
Ale to mniej więcej moje pytanie - jak Drupal może poradzić sobie z tego rodzaju ładunkami? Jak mogę zorganizować przepływ pracy, aby móc obsłużyć tak wiele działań? Czy to problem z Drupalem? Problem z bazą danych?
W szczególności korzystam z Ubuntu, stos LAMP 16 GB RAM. Jestem otwarty na wszelkie sugestie, czy będzie to związane z Drupalem, związane z bazą danych, konfiguracją serwera lub innym przepływem pracy do pracy w ramach możliwości Drupala, więc możesz zaproponować cokolwiek, jeśli masz doświadczenie z tak dużą aktywnością.