我在CentOS 7中使用了带有Erlang R16B03-1的rabbitmq-server-3.6.6。安装了rabbitmq之后,我正在尝试使用pika来构建一个rpc服务器。但是,连接到127.0.0.1的pika.BlockingConnection()部分是如此之慢,超过8秒,通常应该在1~5ms左右。
以下是我的rabbitmq-env.conf设置和pika连接代码列表:
/etc/rabbitmq/rabbitmq-env.conf:
NODENAME=rabbit@localhost
ulimit -S -n 4096
def loop_rpc_1():
import pika, time, uuid
host = '127.0.0.1'
port = 5672
user = 'rpc_user'
passwd = '123456'
vhost = '/dev'
credentials = pika.PlainCredentials(user, passwd)
list = range(1, 100)
for i in list:
start_time = time.time()
conn = pika.BlockingConnection(pika.ConnectionParameters(host, port, vhost, credentials, ))
conn.close()
print(i, time.time() - start_time)
输出:
loop_rpc_1()
1 7.42911958694458
2 5.011636972427368
3 0.008404970169067383
4 0.00924539566040039
5 8.006478071212769
6 2.010906934738159
7 0.008637666702270508
8 0.008483409881591797
9 5.0115368366241455
10 0.00960850715637207
11 0.008922576904296875
12 5.015120506286621
13 8.005479335784912
14 2.011262893676758
15 8.005752325057983
16 2.0079636573791504
17 8.006184816360474
18 2.0097343921661377
19 0.008991718292236328
20 8.00625205039978
/var/log/rabbitmq/rabbitmq@localhost.log就像:
= INFO REPORT ==== 2017年8月17日:: 20:17:12 === 接受AMQP连接< 0.5344.4> (127.0.0.1:44705 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:14 === 关闭AMQP连接< 0.5344.4> (127.0.0.1:44705 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:14 === 接受AMQP连接< 0.5371.4> (127.0.0.1:44706 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 关闭AMQP连接< 0.5371.4> (127.0.0.1:44706 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 接受AMQP连接< 0.5427.4> (127.0.0.1:44707 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 关闭AMQP连接< 0.5427.4> (127.0.0.1:44707 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 接受AMQP连接< 0.5434.4> (127.0.0.1:44708 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 关闭AMQP连接< 0.5434.4> (127.0.0.1:44708 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:19 === 接受AMQP连接< 0.5441.4> (127.0.0.1:44709 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:27 === 关闭AMQP连接< 0.5441.4> (127.0.0.1:44709 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:27 === 接受AMQP连接< 0.5515.4> (127.0.0.1:44710 - > 127.0.0.1:5672)
= INFO REPORT ==== 2017年8月17日:: 20:17:29 === 关闭AMQP连接< 0.5515.4> (127.0.0.1:44710 - > 127.0.0.1:5672)`
time rabbitmqctl list_users
,service rabbitmq-server start/stop/status
等命令也很慢。 调试此类问题的标准程序是什么?
非常感谢!