redis无尽的请求workers.restart\u请求的\u时间戳和/tmp/kdevtmpfsi

q9rjltbz  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(403)

我用docker Docker version 19.03.1, build 74b1e89 与docker合作 docker-compose version 1.23.1, build b02f1306 我使用redis图像来存储缓存和其他。当我进入redis容器并启动monitor com时,我面临着无数的请求,你知道这是什么吗?这是redis的正常行为吗?

1586967988.436843 [0 172.19.0.7:40238] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967988.871148 [0 172.19.0.7:40252] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967989.445710 [0 172.19.0.7:40238] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967989.891562 [0 172.19.0.7:40252] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967990.454699 [0 172.19.0.7:40238] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967990.909510 [0 172.19.0.7:40252] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"
1586967991.464312 [0 172.19.0.7:40238] "MGET" "ikbkr16GHQ:workers.restart_requested_timestamp"

我过去常建造 image: redis:alpine 以及 redis:5.0.8 面对同样的行为

redis:
    container_name: container_redis
    image: redis:5.0.8
    ports:
        - "6379:6379"
    networks:
        - php

在我的应用程序(symfony)中,我为redis配置了如下端口的cace

framework:
    cache:
    prefix_seed: minimoj/minimoj_be
    # Redis
    app: cache.adapter.redis
    default_redis_provider: redis://redis:6379

在本地,这个mget请求并没有给我带来问题,但是在测试服务器上,所有6个cpu的负载都是100%,我不知道是否依赖redis,但是在测试服务器上的htop monitor中,所有cpu都被电源浪费了 Command - /tmp/kdevtmpfsi . 我研究了有关的信息,建议删除 /tmp/kdevtmpfsi 从redis容器。但这并没有帮助,在一些缓存执行后,cpu再次加载到顶端。我不知道,也许是两个问题 /tmp/kdevtmpfsi 无休止的请求,但也许他们相互依赖
我的客户由主管管理

[program:messenger-consume]
command=php /var/www/symfony/bin/console messenger:consume success andraction_parse_row_success --limit=100
numprocs=2
autostart=true
autorestart=true
process_name=%(program_name)s_%(process_num)02d

更新
我解决了cpu加载的问题,它在防火墙中为redis在外部打开了端口(6379),一些恶意脚本解析并使用它。现在只剩下这个了 restart_requested_timestamp 请求。你能解释一下这是正确的行为吗?

kd3sttzy

kd3sttzy1#

Symfony\Component\Messenger\Worker\StopWhenRestartSignalIsReceived

symfony messanger组件正在检查messenger:stop-worker command 他被解雇了。它正在寻找restart\u requested\u timestamp缓存密钥,如果该密钥存在,使用者将停止其工作。
也许这是关于numprocs的。你从多少消费者开始?

相关问题