Je suis intéressé par l'exécution d'environ 50 requêtes HTTP/seconde à partir d'une seule machine. Je ne me soucie pas tellement de la latence mais je me soucie du débit. J'essaie de décider si utiliser Apache HttpAsyncClient ou utiliser Netty. Quelqu'un pourrait-il faire la lumière sur les avantages de chacun concernant mon problème?Client HTTP pour le débit - Netty vs Apache HttpAsyncClient
J'ai trouvé ce comparison mais j'espérais une explication un peu plus détaillée sur lequel est le meilleur et pour quel cas d'utilisation. Aussi, la comparaison signifie-t-elle que l'utilisation du client HTTP apache synchrone avec 200 threads soit meilleure que les autres options? Pas 200 threads un peu trop (en supposant que j'utilise un ordinateur normal avec 4 cœurs, 2 threads par core et 12 Go de RAM)?
Merci à l'avance
Le problème principal avec ces benchmarks est que dans la vraie vie vous avez plus de threads et beaucoup plus de bruit, donc vous ne pouvez pas vraiment obtenir des résultats similaires en production sauf si vous optez pour l'option asynchrone . Vous cherchez à obtenir plus de débit, et comme prévu, Netty gagne beaucoup de temps dans son benchmark. Nous utilisons Netty avec beaucoup de succès pour un large éventail d'applications, et cela ne nous manque jamais. Vous pouvez utiliser ning async-http-client, et vous n'avez pas besoin de tout implémenter par vous-même - https://github.com/AsyncHttpClient/async-http-client. J'espère que cela aide –
@EranHarel ça aide beaucoup. Avez-vous déjà comparé le client async d'Apache à celui du ning? – Gideon
Nous obtenons un meilleur débit en utilisant ning dans nos cas d'utilisation. Vous devriez le tester vous-même bien sûr. Ne faites pas confiance à un post aléatoire sur Internet, ou le mot d'un mec au hasard sur StackOverflow;) –