Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么在这个Fig/Docker容器中联网速度如此之慢?_Ruby On Rails_Networking_Docker_Fig - Fatal编程技术网

Ruby on rails 为什么在这个Fig/Docker容器中联网速度如此之慢?

Ruby on rails 为什么在这个Fig/Docker容器中联网速度如此之慢?,ruby-on-rails,networking,docker,fig,Ruby On Rails,Networking,Docker,Fig,我正在使用和Docker将Rails示例应用程序打包。目前,它工作正常,数据库和服务器启动。当我有一个活跃的互联网连接时,一切都很完美。但是,当我没有Internet连接时,连接Rails/WEBrick服务器需要很长时间(从请求本地主机页的浏览器开始需要20秒) 我查过日志,没有什么不寻常的。容器接收初始连接需要很长时间,而且传输数据需要很长时间 好的,我测试了它,这是因为DNS解析。当您“禁用”典型的Google DNS并使用localhost时,延迟就会消失。这可能是因为如果不这样做,Do

我正在使用和Docker将Rails示例应用程序打包。目前,它工作正常,数据库和服务器启动。当我有一个活跃的互联网连接时,一切都很完美。但是,当我没有Internet连接时,连接Rails/WEBrick服务器需要很长时间(从请求本地主机页的浏览器开始需要20秒)


我查过日志,没有什么不寻常的。容器接收初始连接需要很长时间,而且传输数据需要很长时间

好的,我测试了它,这是因为DNS解析。当您“禁用”典型的Google DNS并使用localhost时,延迟就会消失。这可能是因为如果不这样做,Docker假设127.0.0.1是需要通过NS查找的某个地址,并花费大量时间等待响应(可能是因为它通过UDP发送,由于丢失/丢弃数据包,它等待的时间更长)。这也是为什么没有立即记录请求,因为DNS在网络堆栈上处于较低级别。

好的,我测试了它,这是因为DNS解析。当您“禁用”典型的Google DNS并使用localhost时,延迟就会消失。这可能是因为如果不这样做,Docker假设127.0.0.1是需要通过NS查找的某个地址,并花费大量时间等待响应(可能是因为它通过UDP发送,由于丢失/丢弃数据包,它等待的时间更长)。这也是为什么没有立即记录请求,因为DNS位于网络堆栈的较低级别。

您能告诉我“禁用”它是什么意思吗?我试图删除Google DNS条目(没有留下,所以使用默认值),但是我仍然得到这些巨大的延迟。。。你能告诉我如何正确禁用它吗?谢谢。当你连接到网络时,这显然不适用。当您未连接时,您应该在您正在使用的Fig服务(web for me)下添加
dns:localhost
。您能告诉我“禁用”它是什么意思吗?我试图删除Google DNS条目(没有留下,所以使用默认值),但是我仍然得到这些巨大的延迟。。。你能告诉我如何正确禁用它吗?谢谢。当你连接到网络时,这显然不适用。未连接时,应在您使用的Fig服务(web for me)下添加
dns:localhost