首页 > 解决方案 > 发送两个后续 HTTP 请求的最快方法是什么?

问题描述

我正在制作一个“用户名交换器”脚本,它将我的用户名从一个在线帐户交换到另一个帐户,并尽可能减少延迟。第一个 POST 请求释放一个帐户的用户名,随后的 POST 请求获取另一个帐户的用户名。

如果有任何延迟或事故,即使是一秒钟,许多机器人之一(称为“用户名自动声明器”)都会从我这里抢走用户名。Instagram 和 Twitter 等网站上有许多此类机器人,其中罕见的用户名被认为是有价值的并且具有很高的货币价值。

我想到了几种优化请求速度的方法:

有什么显着的方法可以提高速度,还是我已经把大部分速度都降下来了?我不确定的一件事是语言。像 C++ 这样的低级语言在 Python 上是否会在性能上有所不同?

标签: performancesocketshttppost

解决方案


主要的性能成本是由于网络的延迟和服务器实际需要处理请求的时间(即数据库查找......)。在这种情况下,由于选择编程语言或库而产生的成本大多无关紧要。

网络的主要成本是 TCP 握手和(使用 HTTPS)以下 TLS 握手。如果第二个请求重用相同的底层 TCP 连接,则可以消除这些 - 但当然服务器实际上需要支持这一点。

服务器处理请求所需的时间不受客户端的控制。除此之外,可能还有其他问题,例如服务器要求客户端在检测到某种自动化时解决验证码,或者有适当的程序可以快速重用用户名,以打击销售等滥用行为用户名等


推荐阅读