2

pikaクライアントでログファイルをRabbitMQに解析しようとしている皆さん:

import pika

credentials = pika.PlainCredentials('username', 'password')
parameters = pika.ConnectionParameters(credentials=credentials,host='ec2privateip',port=5672,virtual_host='/')
connection = pika.BlockingConnection(parameters) 
channel = connection.channel() 
channel.queue_declare(queue='blahqueue')

f = open(r'apicalls.log', 'r')

while True:
  line = f.readline()
  if not line:
    time.sleep(1)
  else:
    channel.basic_publish(exchange='',routing_key='hello',body=line)

パフォーマンスについては、1 台の ec2 マシンが約 300 メッセージ/秒で送信できることがわかりました。これは m1.small から m1.large まで変わりません。

パフォーマンスを向上させるには、時間をかけて上記を C で書き直す必要がありますか、それとも他の場所を探す必要がありますか?

同じ RabbitMQ マシンでローカルに実行されているテストは、まったく同じものを示しています。

runjava.sh com.rabbitmq.examples.MulticastMain テストをローカルで実行すると、10K/秒のパフォーマンスが表示されます。これにより、Python クライアントが遅いか、セットアップを適切にテストしていないと思われます。

4

1 に答える 1