SDL Tridion überschreitet das Zeitlimit beim Veröffentlichen mehrerer Elemente

8

Bei der Verwendung von SDL Tridion 2011 SP1 erhalten wir manchmal GUI-Fehler, wenn wir eine Aufgabe für mehrere Objekte ausführen (z. B. die gleichzeitige Veröffentlichung von 1000 Komponenten aus einem Ordner). Veröffentlichen Sie etwa 100 Artikel aus der gleichen Liste funktioniert perfekt.

Der Fehler, den wir sehen, ist in der CME / GUI wie folgt:

%Vor%

Es gibt einen zusätzlichen Fehler in der Windows-Ereignisanzeige im Tridion Error-Protokoll wie folgt:

%Vor%

Welche Zeitüberschreitungswerte werden hier verwendet und wie können wir diese Zeitüberschreitungswerte erhöhen?

    
Chris Summers 01.03.2012, 00:06
quelle

4 Antworten

12

In% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config und% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config

  • Ändern Sie allowExeDefinition von "MachineOnly" zu "MachineToApplication"
  • Vorher & lt; / Konfiguration & gt; füge den folgenden Abschnitt hinzu

In Tridion \ config \ Tridion.ContentManager.config - Geben Sie einen Wert für transactionTimeout in Sekunden an & lt; Sitzung transactionTimeout="3600" / & gt;

In Tridion \ bin \ TcmServiceHost.exe.config - Ändern Sie die CoreService_netTcpBinding-Bindung

%Vor%
  • Fügen Sie Folgendes zuvor hinzu & lt; serviceTimeouts transactionTimeout="00:30:00" / & gt;

in Tridion \ Web \ WebUI \ WebRoot \ Web.config - Ändern Sie die CoreService_netTcpBinding-Bindung

%Vor%

Dies setzt Ihre Timeouts auf 30 Minuten.

    
JRW 17.01.2013, 18:54
quelle
3

Dies ist das Transaktionszeitlimit. Wenn Sie über die GUI veröffentlichen, können Sie versuchen:

  • Öffnen Sie "% TRIDION_HOME% \ Web \ WebUI \ WebRoot \ web.config"
  • Gehen Sie zu system.serviceModel - & gt; Bindungen - & gt; netTcpBinding - & gt; Bindung ("TcmNetTcpBinding")
  • Ändern Sie "readerQuotas" -Werte in etwa so:
  

readerQuotas maxArrayLength="10485760" maxBytesPerRead="5120" maxDepth="32" maxNameTableCharCount="81920" maxStringContentLength="10485760" / & gt;

    
Andrey Marchuk 02.03.2012 08:11
quelle
2

Öffnen Sie TcmServiceHost.exe.config im Ordner "C: \ Programme (x86) \ Tridion \ Bin". Naviagte zu configuration- & gt; system.serviceModel- & gt; Behaviors- & gt; serviceBehaviors- & gt; behavior- & gt; Knoten. Fügen Sie den folgenden Knoten hinzu

%Vor%

Nehmen Sie auch folgende Änderungen vor:

  1. Öffnen Sie web.config unter "% TRIDION_HOME% \ Web \ WebUI \ WebRoot"
  2. Navigieren Sie zu system.serviceModel - & gt; Bindungen - & gt; netTcpBinding - & gt; Bindung ("TcmNetTcpBinding")
  3. Ersetzen Sie den Knoten "readerQuotas" durch diesen:

    & lt; readerQuotas maxArrayLength="10485760" maxBytesPerRead="5120" maxDepth="32" maxNameTableCharCount="81920" maxStringContentLength="10485760" / & gt;

Wenn das nicht funktioniert, versuche diese config:

%Vor%     
Bappi 14.05.2012 06:22
quelle
1

Aufgrund Ihrer Kommentare liegt diese Zeitüberschreitung eindeutig in der Datenbank. Die Nachricht über die gespeicherte Prozedur sagt dies. Sobald das Timeout der Datenbank auftritt, ist es vermutlich unvermeidbar, die Transaktion abzubrechen und den Socket zu schließen.

Auf dem Tridion CM-Server können Sie die Timeout-Einstellungen im Tridion-Management-Snap-In anpassen. Im Knoten "timeout settings" gibt es ein Paar, das relevant sein könnte.

Trotzdem sind die Standardeinstellungen für diese ziemlich lang, und wenn Sie sie treffen, dann würde ich vorschlagen, dass Sie nach einer Grundursache suchen. Ich würde zuerst überprüfen, ob die Optimizer-Statistiken korrekt verwaltet werden.

    
Dominic Cronin 12.05.2012 17:43
quelle

Tags und Links