2011-03-05 4 views
1

J'ai étudié à la fois soapUI/loadUI et JMeter, mais je me suis contenté d'utiliser mon propre client Web Service personnalisé pour effectuer des tests fonctionnels et de performance. J'ai intégré Groovy afin que les cas de test puissent être écrits sans avoir à recompiler quoi que ce soit, et comme mon client utilise des classes proxy générées, je suis capable de manipuler des POJO plutôt que du XML pour créer des requêtes et valider des réponses.Client Java Web Services: génération de charge cohérente

Je suis déjà capable de générer des demandes séquentiellement et en parallèle (en utilisant un nombre fixe de threads) mais je voudrais générer une charge similaire à celle des générateurs loadUI qui utilisent des transactions par seconde (TPS). Je ne sais pas comment maintenir une charge TPS fixe (ou ramping), donc quelqu'un peut-il suggérer une technique à utiliser ou un code à regarder que je pourrais trouver instructif?

Répondre

1

J'ai résolu ce problème en utilisant une combinaison de ExecutorService (pool de threads mis en cache) et CompletionService et en gérant simplement le temps entre la création de «tâches».