簡體   English   中英

在特定時間發送Http請求

[英]Send Http request at specific time

我正在開發一個通過https請求與服務器通信的應用程序。 我需要一條消息才能在很短的時間范圍內將服務器命中。 我知道這個時間窗口的打開時間只有半秒的精度。 我可以在前后前后多次重復http請求,這沒有關系。

現在,這是我在做什么:

  • 我將Python與request和gevent模塊一起使用
  • 我使用帶有1000個連接的連接池的httpadapter創建一個請求會話
  • 我會在時間范圍內的1秒鍾內發送盡可能多的訂單。

     self.session = requests.Session() self.session.mount('https://', requests.adapters.HTTPAdapter(pool_connections=100, pool_maxsize=10000)) def sendRequest() self.session.post(self.url, self.body) pool = gevent.pool.Pool(size = 10000) while time.time() < endTime: g = pool.spawn(sendRequest) gevent.sleep(0.0000001) 

但是,我一直想念那狹窄的窗戶。 我的代碼似乎僅以2毫秒的間隔發送http請求,即使我增加了池的大小,或者我試圖提高發送消息的速度,以增加擊中窗口的機會。 但是,我不確定該如何處理。

我想知道:

  • 網卡是瓶頸嗎?
  • python是瓶頸嗎?
  • 我在代碼中做的不是次優的事情嗎(https連接池的大小,gevent的使用等)
  • 知道如何做得好嗎?

我最終直接使用了套接字模塊,因此在較低級別上控制了行為,並且它起作用了。 請求模塊很棒,但是給這個特殊問題增加了太多的延遲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM