Django测试服务器和开发服务器在检索外部资源时间歇性遇到问题

Django测试服务器和开发服务器在检索外部资源时间歇性遇到问题,django,selenium,networking,django-dev-server,Django,Selenium,Networking,Django Dev Server,我正在Ubuntu 16.04上开发Django应用程序,最近注意到在Django应用程序的测试套件中使用selenium进行的功能测试有时会失败(超时)。这些是以前通过的测试,没有代码被更改。当这种情况发生时,哪些测试会失败似乎是随机的;在一次运行中,测试A将失败,在下一次运行中,测试B将失败,A将通过。然而,似乎通常失败的是对外部web服务的调用(Google Maps API调用),或者加载外部库(通过CDN加载Font Awesome或Bootstrap)——selenium会在等待加载

我正在Ubuntu 16.04上开发Django应用程序,最近注意到在Django应用程序的测试套件中使用selenium进行的功能测试有时会失败(超时)。这些是以前通过的测试,没有代码被更改。当这种情况发生时,哪些测试会失败似乎是随机的;在一次运行中,测试A将失败,在下一次运行中,测试B将失败,A将通过。然而,似乎通常失败的是对外部web服务的调用(Google Maps API调用),或者加载外部库(通过CDN加载Font Awesome或Bootstrap)——selenium会在等待加载这些资源时超时

发生这种情况时,使用开发服务器(
/manage.py runserver
)在本地运行站点通常会比平时慢(即,某些页面的加载速度会比平时慢很多,或者根本无法加载)

我怀疑我的计算机上的某种网络流量正在阻止或减慢Django的开发和测试服务器,就像另一个进程正在使用/试图使用相同的端口或类似的东西一样

有一次,当这个问题特别严重时,我意识到我正试图将一个~1GB的文件上传到同一台机器上的dropbox。当我停止这个过程时,我的测试套件和开发服务器都开始正常运行。还有一次,我通过谷歌音乐管理器上传音乐文件,当我退出音乐管理器时,测试和开发服务器恢复正常。然而,我现在也遇到了同样的问题,我目前没有下载或上传任何主要文件(我知道)

因此,假设这些不是巧合,是任何类型的高网络流量都会导致Django开发服务器和测试服务器出现问题,还是因为我的机器上的某些进程试图使用与Django服务器相同的端口/资源/某物?如何诊断/解决此类问题?

我已经在某处和其他地方搜索过这个问题,但我很难找到解决方案,部分原因是我不确定问题是什么,也不知道如何以搜索引擎能够理解的方式表达出来

我尝试过使用
netstat
工具,怀疑有其他进程正在
127.0.0.1:8000
(对于使用
runserver
运行的dev服务器)和
127.0.0.1:8081
(测试服务器似乎在这里运行)上运行,但我承认,我甚至不确定我应该在那里寻找什么,或者我是否应该在那里寻找

请原谅我的无知;我不熟悉人际关系问题(如果这是我正在经历的),我知道我谈论这个问题的方式可能会让退伍军人感到毛骨悚然。如果这个问题太模糊,我提前道歉。如果你必须投反对票,请让我知道我可以提供的其他信息,以使问题更清楚/更有用


在我准备这篇文章的时间里,问题再次自行解决,我所有的测试都通过了,但我知道它会回来的,所以任何建议都将不胜感激。谢谢大家!

一个可能的问题是,在开发模式下,Django服务器将

同样重要的是要记住,在运行调试时 在上,Django将记住它执行的每个SQL查询。这是有用的 当您调试时,但它会快速消耗计算机上的内存 生产服务器


如果在设置中启用
DEBUG=False
,是否会发生相同的行为?重新启动服务器可以解决问题吗?

sudo netstat-putan
将向您显示在同一端口上侦听的所有进程(查看您是否有
0.0.0:8000
vs
127.0.0.1:8000
)。无论如何,您的问题似乎是,有时您的网络延迟增长太多。当大量传出连接启动且上载带宽减少(即上载大文件时)时,尤其是当连接不对称时,往往会发生这种情况。您的Internet连接是否不对称(下载量大于上载量)?。如果是这样,你需要确保你的带宽足够,或者停止服务,或者使用流量整形。谢谢,这些信息非常有用。是的,看起来我确实有一个非对称连接(下降4.93 Mbps,上次测试上升0.79 Mbps)。下次发生这种情况时,我会尝试将网络活动与我没有遇到问题时的网络活动进行比较。这是哪个操作系统?@o9000是的,我忘了在我的帖子中提到这一点-有点重要!我在Ubuntu 16.04上。重启服务器并不能解决这个问题;我试过了。但是,我没有测试将
DEBUG
更改为
False
是否有助于解决问题。下一次我肯定会试试这个,看看效果如何。谢谢你的建议!