关于python:nameko-投递不同大小消息的速率对比

能够先浏览:nameko 投递信息不长久化

小体积

投递 1000 bytes 的 message(不开长久化 NON_PERSISTENT)

速率在 2000+

投递 1000 bytes 的 message(开长久化 PERSISTENT)

速率在 200-


中等体积

投递 100 KB 的 message(不开长久化 NON_PERSISTENT)

速率在 1500 左右

投递 100 KB 的 message(开长久化 PERSISTENT)

速率在 125 左右


大体积

投递 10MB 的 message(不开长久化 NON_PERSISTENT)

速率在 35 左右

投递 10MB 的 message(开长久化 PERSISTENT)

速率在 15 左右


参考代码:

from loguru import logger
import settings
from nameko.standalone.events import event_dispatcher
from nameko.constants import NON_PERSISTENT
import time

config = {
    'AMQP_URI': f'amqp://{settings.RABBITMQ_CONFIG.username}:'
                f'{settings.RABBITMQ_CONFIG.password}@{settings.RABBITMQ_CONFIG.host}:'
                f'{settings.RABBITMQ_CONFIG.port}/{settings.RABBITMQ_CONFIG.vhost}'
}

data='1234567890'*1000*1000

dispatch = event_dispatcher(config,delivery_mode=NON_PERSISTENT)
for _ in range(100000):
    dispatch(
        'test_publishe',
        'to_publish',
        data
    )

测试环境:

ubuntu20.04

rabbit 和程序都跑在同一个机器上

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理