Domanda Sitecore EventQueue La tabella cresce senza controllo


Stiamo riscontrando un problema con la tabella EventQueue che cresce molto velocemente a volte, fino a 3k di record al secondo, e mai i record di cancellazione (30 milioni a partire da ora). Il nostro ambiente ha la seguente configurazione:

Sitecore 7.2

  • 4 server CD e 1 server CM
  • Tutti e quattro i server CD sono bilanciati dal carico.
  • CD1 e CD2 sono puntati su DB1 server CD3 e CD4 puntati su DB2
  • server Ci sono 2 target di pubblicazione (uno per ogni DB) Unisci
  • La replica è impostata per il Core db su tutti i server (CM, CD)
  • EventQueue è abilitato

Ho alcune domande quindi le suddividerò in elementi pubblicitari separati.

  1. Quando viene pubblicata una pubblicazione per tutti i server CD, il contenuto aggiornato viene inviato direttamente dal db CM ai db del CD (tutte le tabelle corrette) o viene inviato alla tabella EventQueue nel CD db e il server CD ha un lavoro / compito che guarda la tabella e aggiorna secondo necessità.

  2. A seconda della risposta alla prima domanda, se ci sono 2 server CD che puntano allo stesso DB come fanno a sapere se devono elaborare la tabella EventQueue (non entrambi elaborano la tabella e duplicano gli sforzi)

  3. Perché la tabella EventTable non è stata cancellata? Come viene cancellato, quando viene cancellato?


13
2018-06-12 19:38


origine


risposte:


  1. Su CM publish, la richiesta di pubblicazione viene inviata alla tabella EventQueue sul CD db dove viene elaborata secondo la pianificazione di pubblicazione dell'istanza.
  2. Il InstanceName la colonna nella tabella EventQueue memorizza il nome univoco di ciascuna istanza Sitecore (per impostazione predefinita questo è Nome computer + Nome istanza IIS, ma può essere impostato in web.config). Ciò consente di raccogliere gli eventi da una singola istanza CD in un ambiente con bilanciamento del carico.
  3. La tabella EventQueue viene cancellata da un'attività Sitecore definita nel <scheduling> elemento nel web.config, anche se ho visto questo comportamento anomalo nel passato. Per impostazione predefinita, è impostato come segue:

    <agent type="Sitecore.Tasks.CleanupEventQueue, Sitecore.Kernel" method="Run" interval="04:00:00"> <DaysToKeep>1</DaysToKeep> </agent>

In precedenza ho eseguito carichi elevati nelle tabelle EventQueue e PublishQueue e suggerirei di provare quanto segue (alcuni dei quali erano suggeriti dal supporto Sitecore):

Infine, dal supporto Sitecore:

Sitecore raccomanda che il numero di righe (voci) nelle tabelle History, PublishQueue ed EventQueue sia inferiore a 1000.


16
2018-06-12 20:41