Dépanner les temporisations pour les intégrations synchrones
Si une temporisation se produit tout le temps pour une intégration synchrone ou si celle-ci dure plus longtemps que d'habitude, il est possible qu'elle tente de traiter un trop grand nombre de demandes. Si vous connaissez le nombre de demandes que votre instance traite en une seconde, vous pouvez plus facilement concevoir des intégrations synchrones qui fournissent les réponses rapides dont vous avez besoin.
-
Généralement, les mots "message" et "demande" sont synonymes. Toutefois, lorsque vous utilisez des données utiles volumineuses, vous pouvez consommer plus d'un message par demande. Cette modification a une incidence sur vos calculs. Voir Voir les mesures d'instance de service et de message de facturation.
Les calculs de cette section supposent que chaque demande est inférieure ou égale à 50 Ko.
-
Ce calcul est généralement appelé TPS, ou transactions par seconde. Le calcul TPS ne s'applique pas directement à Oracle Integration pour deux raisons :
- Oracle Integration traite les demandes et non les transactions.
- Le dimensionnement dans Oracle Integration est basé sur la consommation horaire des messages et non sur la consommation par seconde.
Pour Oracle Integration, l'équivalent du nombre de transactions par seconde est le nombre de demandes par seconde, qui correspond à votre degré de concurrence.
- Déterminez le nombre approximatif de demandes qu'une instance peut traiter en une minute.
- Calculez votre concurrence (nombre de demandes concurrentes que votre système peut traiter à partir d'applications client).
Exemple 7-1 Traitement du nombre maximal de demandes concurrentes
Examinons un exemple de file d'attente de demandes lorsqu'une instance qui peut traiter 55 demandes concurrentes fonctionne à pleine capacité.
Le tableau suivant illustre la façon dont les demandes arrivent et sont terminées au fil des secondes. Le nombre total de demandes dans la file d'attente augmente jusqu'à atteindre 55 et reste à 55 indéfiniment. Après 5 secondes (le temps de réponse), les demandes commencent à se terminer.
| Temps écoulé | Demandes qui arrivent | Demandes terminées | Nombre total de demandes dans la file d'attente |
|---|---|---|---|
|
1 seconde |
11 |
0 |
11 |
|
2 secondes |
11 |
0 |
22 |
|
3 secondes |
11 |
0 |
33 |
|
4 secondes |
11 |
0 |
44 |
|
5 secondes |
11 |
11 |
55 |
|
6 secondes |
11 |
11 |
55 |
|
7 secondes |
11 |
11 |
55 |
|
8 secondes |
11 |
11 |
55 |
Exemple 7-2 Dépassement du nombre maximal de demandes concurrentes
Imaginez que la même instance reçoit un nombre de demandes par seconde supérieur à la valeur maximale de concurrence. Le tableau suivant illustre la rapidité avec laquelle le nombre de demandes dans la file d'attente peut s'accumuler, même si vous ne dépassez la concurrence que de quelques demandes. Au bout de 3 secondes, l'instance a déjà dépassé son nombre maximal de demandes concurrentes et, au bout de 8 secondes, elle traite le double du nombre maximal de demandes concurrentes.
Si une intégration est susceptible de dépasser la concurrence maximale de l'instance, elle subira probablement des temporisations lorsqu'elle sera créée en tant qu'intégration synchrone. Créez plutôt l'intégration en tant qu'intégration asynchrone.
| Temps écoulé | Demandes qui arrivent | Demandes terminées | Nombre total de demandes dans la file d'attente |
|---|---|---|---|
|
1 seconde |
20 |
0 |
20 |
|
2 secondes |
20 |
0 |
40 |
|
3 secondes |
20 |
0 |
60 |
|
4 secondes |
20 |
0 |
80 |
|
5 secondes |
20 |
11 |
89 |
|
6 secondes |
20 |
11 |
98 |
|
7 secondes |
20 |
11 |
107 |
|
8 secondes |
20 |
11 |
116 |