在 libcurl 连接池中预先创建连接

Pre-create connections in libcurl connection pool

在启动过程中,我的应用程序进行了一些昂贵且耗时的初始化,然后它建立了到多个域的 ssl 连接(到其中一些域的多个连接)。通过查看 wireshak 跟踪,建立 ssl 连接最多需要 150-200 毫秒。

我能否以某种方式告诉 curl 预先建立一个到 abc.com 的 ssl 连接和 3 个到 xyz.com 的 ssl 连接? 我有什么选择?我可以向这些域发出一些虚假请求,但我宁愿避免这样做以免用虚假请求污染服务器。作为最后的手段,我可​​能会对这些域执行 http OPTIONS 请求。

由于已建立的连接将保存在 curl 的 for a while after transfers, I would suggest you simply do a simple HEAD request (using CURLOPT_NOBODY) 或 OPTIONS 中,然后在启动其余部分时,"real" 请求并重用该连接.