Fehlerbehebung bei Timeouts für synchrone Integrationen

Wenn eine synchrone Integration immer wieder Timeouts verursacht oder länger als üblich dauert, versucht die Integration möglicherweise, zu viele Anforderungen zu verarbeiten. Wenn Sie die Anforderungen kennen, die Ihre Instanz in einer Sekunde verarbeitet, können Sie synchrone Integrationen entwerfen, die die schnellen Antworten liefern, die Sie benötigen.

Mit der Berechnung der Anforderungen pro Sekunde können Sie die ungefähre Anzahl der nebenläufigen Anforderungen ermitteln, die Ihr System von Clientanwendungen empfangen kann. Beispiel: Wie viele nebenläufige Anforderungen aus einer App kann Ihre Instanz verarbeiten, wenn die App Oracle Integration aufruft?
Diese Berechnung gilt speziell für synchrone Integrationen, für die Oracle Integration auf eine Antwort vom Zielservice wartet. Wenn eine Integration eine große Aufgabe durchführt und lange ausgeführt werden muss, empfiehlt Oracle stattdessen die Erstellung einer asynchronen Integration.
Hinweis

  • Im Allgemeinen werden die Begriffe "Nachricht" und "Anforderung" synonym verwendet. Wenn Sie jedoch mit großen Payloads arbeiten, können Sie mehrere Nachrichten pro Anforderung konsumieren. Diese Änderung wirkt sich auf Ihre Berechnungen aus. Siehe Im Budget bleiben: Fakturierungskennzahlen verfolgen.

    Bei den Berechnungen in diesem Abschnitt wird davon ausgegangen, dass jede Anforderung höchstens 50 KB umfasst.

  • Diese Berechnung wird in der Regel als TPS oder Transaktionen pro Sekunde bezeichnet. TPS gilt aus zwei Gründen nicht direkt für Oracle Integration:

    • Oracle Integration verarbeitet Anforderungen und nicht Transaktionen.
    • Die Größenbestimmung in Oracle Integration basiert auf dem stündlichen Konsum von Nachrichten und nicht auf dem Konsum pro Sekunde.

    Das Oracle Integration-Äquivalent zu TPS ist "Anforderungen pro Sekunde", also Ihre Nebenläufigkeit.

  1. Bestimmen Sie die ungefähre Anzahl von Anforderungen, die eine Instanz in einer Minute verarbeiten kann.
    1. Bestimmen Sie die Anzahl der Nachrichtenpakete, die Sie pro Stunde für die Instanz erworben haben.

      In diesem Beispiel nutzen Sie eine Oracle Integration-Lizenz und haben 4 Pakete erworben.

    2. Multiplizieren Sie die Anzahl der Nachrichtenpakete mit der Anzahl der Nachrichten im Nachrichtenpaket (5.000 Nachrichten für Nicht-BYOL-Kunden und 20.000 Nachrichten für BYOL-Kunden).

      In diesem Beispiel sind Sie kein BYOL-Kunde, sodass Ihre Nachrichtenpakete 5.000 Nachrichten enthalten.

      4 Nachrichtenpakete x 5.000 Nachrichten pro Stunde = 20.000 Anforderungen pro Stunde

    3. Teilen Sie die Anzahl der stündlichen Anforderungen durch 3.600, um Ihre ungefähre Kapazität pro Sekunde zu bestimmen.

      20.000 Anfragen pro Stunde / 3600 = 5,6 Anfragen pro Sekunde

    4. Multiplizieren Sie die Anforderungen pro Sekunde mit 2. Eine Instanz kann in der Regel etwa das Doppelte Ihrer erworbenen Kapazität verarbeiten.

      5,6 Anforderungen pro Sekunde x 2 = 11 Anforderungen pro Sekunde

  2. Berechnen Sie die Nebenläufigkeit (die Anzahl der nebenläufigen Anforderungen, die Ihr System von Clientanwendungen verarbeiten kann).
    1. Bestimmen Sie die typische Antwortzeit in Sekunden.

      Beispiel: Führen Sie einige Anforderungen aus, und prüfen Sie die Antwortzeiten in den Zeitstempeln des Aktivitätsstreams. Siehe Status von Integrationsinstanzen verfolgen in Integrationen in Oracle Integration 3 verwenden.

      Die Antwortzeit kann je nach Situation variieren. Wenn das Transaktionsvolumen in Ihrer Instanz steigt, können sich auch die Antwortzeiten erhöhen.

      In diesem Beispiel beträgt Ihre Antwortzeit 5 Sekunden.

    2. Multiplizieren Sie die Anzahl der Anforderungen, die Sie pro Sekunde verarbeiten können, mit der Antwortzeit.

      11 Anforderungen pro Sekunde x 5 Sekunden = 55 gleichzeitige Anforderungen

      Dieser Wert gibt Ihre ungefähre Nebenläufigkeit an.

Beispiel 12-1: Maximale Anzahl nebenläufiger Anforderungen verarbeiten

Sehen wir uns eine Beispielanforderungsqueue an, wenn eine Instanz, die 55 nebenläufige Anforderungen verarbeiten kann, mit voller Kapazität arbeitet.

In der folgenden Tabelle wird für jede Sekunde dargestellt, wie Anforderungen ankommen und abgeschlossen werden. Die Gesamtanzahl der Anforderungen in der Queue steigt, bis sie 55 erreicht und dauerhaft bei 55 bleibt. Nach 5 Sekunden (der Antwortzeit) werden Anforderungen nach und nach abgeschlossen.

Verstrichene Zeit Eingehende Anforderungen Abgeschlossene Anforderungen Gesamtzahl Anforderungen in der Queue

1 Sekunde

11

0

11

2 Sekunden

11

0

22

3 Sekunden

11

0

33

4 Sekunden

11

0

44

5 Sekunden

11

11

55

6 Sekunden

11

11

55

7 Sekunden

11

11

55

8 Sekunden

11

11

55

Beispiel 12-2: Maximale Anzahl nebenläufiger Anforderungen überschreiten

Angenommen, dieselbe Instanz erhält eine höhere Anzahl von Anforderungen pro Sekunde als der maximale Nebenläufigkeitswert. In der folgenden Tabelle wird dargestellt, wie schnell sich Anforderungen in der Queue ansammeln, selbst wenn Sie die Nebenläufigkeit durch nur wenige Anforderungen überschreiten. Nach 3 Sekunden hat die Instanz bereits die maximale Anzahl an nebenläufigen Anforderungen überschritten. Innerhalb von 8 Sekunden muss die Instanz das Doppelte der maximalen Anzahl von nebenläufigen Anforderungen verarbeiten.

Wenn eine Integration wahrscheinlich die maximale Nebenläufigkeit der Instanz übersteigt, führt die Integration wahrscheinlich zu Timeouts, wenn sie als synchrone Integration erstellt wird. Erstellen Sie die Integration stattdessen als asynchrone Integration.

Verstrichene Zeit Eingehende Anforderungen Abgeschlossene Anforderungen Gesamtzahl Anforderungen in der Queue

1 Sekunde

20

0

20

2 Sekunden

20

0

40

3 Sekunden

20

0

60

4 Sekunden

20

0

80

5 Sekunden

20

11

89

6 Sekunden

20

11

98

7 Sekunden

20

11

107

8 Sekunden

20

11

116