发送两个后续HTTP请求的最快方法是什么?

时间:2019-03-22 11:50:07

标签: performance sockets http post

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

如果有任何延迟或不幸,甚至一秒钟,许多漫游器之一(称为“用户名自动声明器”)将从我那里抢走用户名。在Instagram和Twitter等网站上有许多这样的机器人,其中稀有的用户名被认为是有价值的,并且具有很高的货币价值。

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

  • 在两个会话中重新使用相同的TCP连接
  • (也许?)使用较低级别的库(例如套接字)以提高速度
  • 在网络服务器位置旁边的低延迟服务器上运行脚本
  • 等待网络服务器维护或直到机器人崩溃为止的其他事情
  • 如果网站不需要HTTP来提高速度,请使用HTTP over HTTPS

是否有任何显着的方法可以提高速度,或者我大部分都没有?  我不确定的一件事就是语言。诸如C ++或Python之类的低级语言在性能方面是否会有所不同?

1 个答案:

答案 0 :(得分:0)

主要的性能成本是由于网络的延迟以及服务器实际处理请求所需的时间(即数据库查找...)造成的。在这种情况下,由于选择编程语言或库而产生的成本几乎没有关系。

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

服务器处理请求所需的时间不受客户端控制。除此之外,还可能存在其他问题,例如服务器要求客户端在检测到某种自动化的情况下解决验证码问题,或者已经制定了一些程序,这些程序将使得用户名的快速重用变得不可能,从而避免了诸如出售等滥用行为。用户名等。