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.
-
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.
- Bestimmen Sie die ungefähre Anzahl von Anforderungen, die eine Instanz in einer Minute verarbeiten kann.
- Berechnen Sie die Nebenläufigkeit (die Anzahl der nebenläufigen Anforderungen, die Ihr System von Clientanwendungen verarbeiten kann).
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 |