当我在本地打开Ruby http服务器时,我。即通过http://localhost:4567
,加载页面只需要很少的时间:
ruby -run -e httpd . -p4567
,目录列表 - 即时; ruby -run -e httpd . -p4567
,一个沉重的jpeg - 瞬间; middleman server
,刷新以前打开的网站 - 约5秒。但是当我通过LAN执行相同操作时,加载页面需要更长的时间。我从两台远程计算机上试了一下:一台通过WiFi的手机和一台运行在与Web服务器相同的主机上的虚拟机(使用虚拟网络适配器)。
ruby -run -e httpd . -p4567
,目录列表 - 约5秒; ruby -run -e httpd . -p4567
,一个沉重的jpeg - 开始下载图像约5秒钟,然后几乎立即加载它; middleman server
,刷新之前打开的网站 - 15-30秒,可能会导致手机超时。这可能是什么原因以及如何重新获得?
PS主机是Windows 7,但似乎两种方式都可以,i。即当服务器在Linux虚拟机上运行时。
答案 0 :(得分:0)
好的,结果是Webrick的问题。
此问题/答案与以下内容重复:Webrick is very slow to respond. How to speed it up?以下是链接页面的答案摘要。
可能的解决方案(选择一个):
DoNotReverseLookup: true
传递给WEBrick::HTTPServer.new
,在项目中对其进行实例化。webrick/config.rb
文件,并将:DoNotReverseLookup
参数设置为true
。每次更新依赖关系时,您都必须重复此步骤。avahi-daemon
服务来解决此问题。请注意,它还会阻止自动发现网络打印机和共享。