2011-12-19 3 views
2

Nous utilisons un mécanisme de traction similaire aux tests de performance spécifiés ici pour ZeroMQ. http://www.zeromq.org/results:perf-howtoZeroMQ, Liaison Scala le ralentit considérablement

Pour le test de débit avec une taille de message de 4,3 kb et 100.000 messages que je reçois une performance de 85K msg/sec

Vikas @ Vikas-ordinateur portable: ~/w/logiciel/éclatées/zeromq-2.1. 10/perf $ local_thr tcp: //127.0.0.1: 5555 4300 100000 taille du message: 4300 [B] nombre de messages: 100000 débit moyen: 85203 [msg/s] signifie débit: 2930,983 [Mb/s]

Cependant, avec le code dans Scala et en utilisant la liaison Scala 0.0.3 je reçois moins de 15K msg/sec.

Contenu essentiel ici https://gist.github.com/1496406

Qu'est-ce qui ne va pas?

Répondre

2

Lors du test du débit 0MQ, vous devez prendre quelques précautions pour obtenir des chiffres significatifs.

D'abord, utilisez une machine avec suffisamment de cœurs ou deux machines sur un réseau rapide. Deuxièmement, envoyez suffisamment de messages pour solliciter le test élémentaire pendant quelques secondes. 100K est trop peu, probablement 1M serait mieux. Troisièmement, testez avec différentes tailles de message pour voir l'impact des différentes opérations. Utilisez des messages à 1 octet pour tester le coût de l'API de langage (Scala). Utilisez des messages de 100 octets pour tester le coût des E/S. Utilisez des messages 1K pour tester le coût de la copie de la mémoire. Vous verrez généralement une courbe.

+0

Merci Pieter pour votre réponse, l'essentiel que j'ai posté est juste un scénario, mais comme vous l'avez suggéré, nous avons essayé avec diverses combinaisons de tailles de messages et le nombre de messages. Les chiffres sont loin de ce que nous obtenons avec les tests de perf. J'ai fait des changements comme suggéré par Viktor, voir le fil de courrier ici https://groups.google.com/forum/#!searchin/scala-user/zeromq$20scala$20binding/scala-user/EKPxFTuWq7o/_UCcY9mh0zwJ encore il n'y a pas amélioration proche de ce que nous attendrions. –

+0

https://groups.google.com/d/topic/scala-user/EKPxFTuWq7o/discussion –