伙计们,尝试使用 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 客户端很慢,或者我没有正确测试设置。