Bonjour,
je suis actuellement sur un projet ou j'ai développé un jar exécutable qui appel un Web service qui met jusqu'à 10 secondes à répondre.

ce jar est appelé par un programme perl.
Pour des raison historique nous ne pouvons pas modifier cet architecture.

afin accélérer le traitement nous devons appeler le jar plusieurs fois de façon parallèle, nous faisons donc un fork dans le code perl qui exécute la commande:
java -jar callWS.jar

Le problème que nous rencontrons est que les jars ne sont s'exécutent en rafale mais avec des pause, comme le montre les logs ci-dessous

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
début de l'exécution de l'appel 1: 15:39:10:054
début de l'exécution de l'appel 2: 15:39:10:668
début de l'exécution de l'appel 3: 15:39:11:017
début de l'exécution de l'appel 4: 15:39:12:369
début de l'exécution de l'appel 5: 15:39:13:837
début de l'exécution de l'appel 6: 15:39:18:084
 
fin l'exécution de l'appel 3: 15:39:19,126
fin l'exécution de l'appel 1: 15:39:19,530
 
début de l'exécution de l'appel 6: 15:39:20:109
 
fin l'exécution de l'appel 4: 15:39:20,592
fin l'exécution de l'appel 2: 15:39:20,654
 
debut de l'exécution de l'appel 7: 15:39:22,329
 
fin l'exécution de l'appel 5: 15:39:23,911
Comme on peut le voire les jar sont bien exécuté en parallèle, et non séquentiellement.
le problème, est dans le démarrage on voit des temps de pause, en effet on voit:
614ms entre le début de l'appel 1 et le début de l'appel 2
349ms entre le 2 et le 3
1s352ms entre le 3 et le 4
1,5s entre le 4 et le 5
5s entre le 5 et le 6
les pauses sont en moyenne de 4s sur le reste des appels

Je ne sais pas à quoi sont du ces pause, j'imagine que étant un jar exécutable, il lui faut le temps de démarré la jvm (mais je n'en suis pas sur).

est ce que quelqu'un aurait une solution ou un conseil afin supprimer ces pauses.
P.S: nous avons vérifié coté perl les appels sont fait toutes les 10ms

Merci par avance.