可以先阅读:nameko 投递信息不持久化

小体积

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

图片.png

速率在 2000+

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

图片.png

速率在 200-


中等体积

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

图片.png

速率在 1500 左右

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

图片.png

速率在 125 左右


大体积

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

图片.png

速率在 35 左右

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

图片.png

速率在 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 和程序都跑在同一个机器上


universe_king
3.4k 声望680 粉丝