multi: use larger dns hash table for multi interface

Have curl_multi_init() use a much larger DNS hash table than used for
the easy interface to scale and perform better when used with _many_
host names.

curl_share_init() sets an in-between size.

Inspired-by: Ivan Tsybulin
See #9340
Closes #9376
This commit is contained in:
Daniel Stenberg 2022-08-27 14:48:13 +02:00
parent c5c6e86783
commit 7632c0d25a
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
7 changed files with 18 additions and 11 deletions

View file

@ -725,7 +725,7 @@ static CURLcode easy_perform(struct Curl_easy *data, bool events)
else {
/* this multi handle will only ever have a single easy handled attached
to it, so make it use minimal hashes */
multi = Curl_multi_handle(1, 3);
multi = Curl_multi_handle(1, 3, 7);
if(!multi)
return CURLE_OUT_OF_MEMORY;
data->multi_easy = multi;