听起来您正在查看URL列表,访问存储每个请求结果的每个URL。你说你的代码可以工作但是not very well
。实际上,它的行为完全符合我的预期,因为:
- 10k网址很多。假设90%的成功,您将遇到1000次失败,这些都会妨碍您的策略。有关详细信息,请参阅以下项目符号:
- 并非所有来自大型网址列表的请求都有效(错误404)
- 您将无权访问(授权)所有网址(错误5xx)
- 你的超时时间很长,为20秒。在超时(失败)显着减慢应用程序之前,某些请求可能会占用所有时间。创建更短的超时并使该值可配置
- 您似乎没有使用线程。这是使用线程和分散工作负载的理想场所。这实际上取决于您对
very long list
的定义。如果有足够的URL,您甚至可以考虑从几台不同的计算机上运行它
- 您应该了解,拨打这些电话会对目标服务器以及您的计算机和网络造成额外压力。额外使用资源会减慢速度并使更多时间超时。