Node.js 从节点到mongodb的连接速度慢
我正在使用docker进行实验,并反映出从nodejs(4.2.3)容器到mongodb(3.2)容器的连接非常缓慢 我的设置非常基本,如下(docker compose): 我的s.o.是OSX 10.10,docker版本是1.10.2 奇怪的是,到db的连接时间总是30秒 有自动延迟吗 编辑: 如果我将mongodb容器的ip地址设置为“dns”(Node.js 从节点到mongodb的连接速度慢,node.js,mongodb,docker,Node.js,Mongodb,Docker,我正在使用docker进行实验,并反映出从nodejs(4.2.3)容器到mongodb(3.2)容器的连接非常缓慢 我的设置非常基本,如下(docker compose): 我的s.o.是OSX 10.10,docker版本是1.10.2 奇怪的是,到db的连接时间总是30秒 有自动延迟吗 编辑: 如果我将mongodb容器的ip地址设置为“dns”(mongodb),延迟就会消失 有什么想法吗?这并不能完全解决问题,但可以让您恢复正常行为。 原因似乎是docker compose.yml的第
mongodb
),延迟就会消失
有什么想法吗?这并不能完全解决问题,但可以让您恢复正常行为。 原因似乎是docker compose.yml的第2版 如果我删除版本2,则在连接到mongodb时完全消除了30秒的延迟:
web:
build: ./app
volumes:
- "./app:/src/app"
ports:
- "80:3000"
links:
- "db_cache:redis"
- "db:mongodb"
command: nodemon -L app/bin/www
db_cache:
image: redis
db:
image: mongo
我打开了一个问题。这并不能完全解决问题,但它允许您恢复正常行为。 原因似乎是docker compose.yml的第2版 如果我删除版本2,则在连接到mongodb时完全消除了30秒的延迟:
web:
build: ./app
volumes:
- "./app:/src/app"
ports:
- "80:3000"
links:
- "db_cache:redis"
- "db:mongodb"
command: nodemon -L app/bin/www
db_cache:
image: redis
db:
image: mongo
我打开了一个问题。节点应用程序的连接字符串是什么?是通过IP地址还是通过DNS中查找的名称?对于后者,慢速连接通常是一个反向查找区域问题,其中没有定义此类条目。在这种情况下,这不是真正的编程问题。url字符串是
mongodb://mongodb:27017/dockertest
阅读文档docker这是推荐的方法。节点应用程序的连接字符串是什么?是通过IP地址还是通过DNS中查找的名称?对于后者,慢速连接通常是一个反向查找区域问题,其中没有定义此类条目。在这种情况下,这不是真正的编程问题。url字符串是mongodb://mongodb:27017/dockertest
阅读文档docker这是推荐的方法。