我正在通过 JMeter 向我的应用程序发送大量数据。
我的订阅块和发布者如下所示:
BunnyStarter.start_bunny_components
cons = BunnyStarter.queue.subscribe do |delivery_info, metadata, payload|
method_calling ( payload )
cons.cancel
end
BunnyStarter.exchange.publish(body.to_json, routing_key: BunnyStarter.queue.name)
还有我的 BunnyStarter 课程:
def self.start_bunny_components
if @@conn.nil?
@@conn = Bunny.new
@@conn.start
@@ch = @@conn.create_channel
@@queue = @@ch.queue("dump_probe_queue")
@@exchange = @@ch.default_exchange
end
end
问题是,虽然我consumer.cancel
在之后调用,但method_calling
在我的 Rabbit MQ 管理员中,我仍然看到我在大约 6 分钟内创建了 1000 个消费者。
那是因为我发送的数据的速率和数量吗?
我该如何改进呢?