libcurl中使用ssl url的高CPU使用率

时间:2011-10-27 07:47:34

标签: ssl curl

我使用10个线程连接到https连接。 Curl占用了100%的cpu。 我怎样才能减少呢?

每个线程代码都像

curl_connection = curl_easy_init();

现在使用相同的连接

setting some header then 
curl_easy_perform(curl_connection);

3 个答案:

答案 0 :(得分:1)

您可以通过运行其他任务来减少它,然后任务将拆分CPU。否则,您希望CPU尽可能多地完成有用的工作。这不像你以后可以保存它。

答案 1 :(得分:0)

我猜你在主线程中调用curl_easy_perform,避免这种情况,但是在子线程中调用它。

答案 2 :(得分:0)

对于其他在libcurl中寻求高CPU使用率解决方案的人: 它使用大量的CPU功能来使用libcurl初始化curl_easy_init()简易句柄,然后使用curl_easy_cleanup(_pCurl)对其进行销毁。 为了减少libcurl的CPU使用率,您需要创建libcurl句柄池,并通过在句柄上调用curl_easy_reset()重用每个句柄。另外,除了实现libcurl句柄池之外,您还可以在每个线程中初始化一次句柄,然后在每个新的Web请求仅调用curl_easy_reset()之前在循环中初始化。