我有一个 django 测试套件,它从一个 400 行的夹具文件构建一个数据库。不幸的是,它运行缓慢。每次测试几秒钟。
昨天我在火车上开发时没有互联网接入,我的 wifi 关闭,我注意到我的测试在没有互联网的情况下运行速度实际上快了 10 倍。而且它们肯定运行正常。
一切都是本地的,即使没有互联网连接也能正常运行。测试本身不会命中任何 API 或建立任何其他连接,因此它似乎一定是其他东西。
请您参考如下方法:
这很可能意味着您安装了一些正在尝试建立网络连接的组件。可能是监控或统计数据收集的东西?
弄清楚发生了什么的最简单方法是使用 tcpdump 捕获您的网络流量并查看发生了什么。为此:
- 运行
tcpdump -i any(如果您使用的是 Mac,则运行tcpdump -i en1;机场通常是en1,但是你可以用ifconfig) 仔细检查 - 观察交通以了解什么是正常的
- 运行您的测试套件
- 观察
tcpdump打印的流量,看看是否有任何明显的问题
