我用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
请求。你能解释一下这是正确的行为吗?
1条答案
按热度按时间kd3sttzy1#
symfony messanger组件正在检查messenger:stop-worker command 他被解雇了。它正在寻找restart\u requested\u timestamp缓存密钥,如果该密钥存在,使用者将停止其工作。
也许这是关于numprocs的。你从多少消费者开始?