net/http client conn pool

108 views
Skip to first unread message

Daniel Podolsky

unread,
Feb 12, 2015, 2:51:31 PM2/12/15
to gola...@googlegroups.com
Добрый день!

То ли я гуглить разучился, то ли и правда простого туториала по
натсройке пула в сети нет.

начнем с того, что я не нашел примера использования внятного

понятно, что мне нужен Transport, от него клиент и от него запрос.

или транспорт мне нужен только если я хочу дефолтные параметры поменять?

правильно я понимаю, что коннект из пула выбирается только для
запроса, и автоматически в него возвращается?

как установить максимальное количество коннектов к одному хосту?
MaxIdleConnsPerHost? или это только про простаивающие коннекты?

что бы такое почитать на эту тему?

спасибо!

Ьу тщ

unread,
Feb 13, 2015, 1:07:02 AM2/13/15
to gola...@googlegroups.com
где вы пул то там нашли чтоб его настаивать. 

Daniel Podolsky

unread,
Feb 13, 2015, 2:23:57 AM2/13/15
to gola...@googlegroups.com
> где вы пул то там нашли чтоб его настаивать.
а MaxIdleConnsPerHost у транспорта, по-вашему, к чему относятся?

вообще, конечно, я просто предположил, что он там есть. где keep-alive
- там и pool, иначе быть не может.

Anton Ageev

unread,
Feb 13, 2015, 3:58:12 AM2/13/15
to gola...@googlegroups.com
2015-02-12 22:51 GMT+03:00 Daniel Podolsky <onok...@gmail.com>:
понятно, что мне нужен Transport, от него клиент и от него запрос.

или транспорт мне нужен только если я хочу дефолтные параметры поменять?

Transport нужен, чтобы создать http.Client.
 
правильно я понимаю, что коннект из пула выбирается только для
запроса, и автоматически в него возвращается?

Только если уже есть открытое и незанятое соединение к этому хосту по соответствующему протоколу (http, https).
В противном случае, открывается новое соединение.
 
как установить максимальное количество коннектов к одному хосту?

Никак. Только написав свою логику.
 
MaxIdleConnsPerHost? или это только про простаивающие коннекты?

Только простаивающие.
 
что бы такое почитать на эту тему?

Eugene Toropov

unread,
Feb 13, 2015, 4:04:06 AM2/13/15
to gola...@googlegroups.com
MaxConnPerHost пока в разработке судя по всему - https://github.com/golang/go/issues/6785

--
Вы получили это сообщение, поскольку подписаны на группу "Golang Russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес golang-ru+...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Anton Taraev

unread,
Feb 13, 2015, 7:14:15 AM2/13/15
to gola...@googlegroups.com
Вот здесь можно посмотреть реализацию транспорта 

четверг, 12 февраля 2015 г., 22:51:31 UTC+3 пользователь Daniel Podolsky написал:

Sergey Shepelev

unread,
Feb 15, 2015, 6:13:15 PM2/15/15
to gola...@googlegroups.com
Здравствуйте.

Вам может пригодиться библиотека heroshi из моего паука https://github.com/temoto/heroshi/tree/master/heroshi
там есть ограничение на хосты, на размер ответа, много статистики, замер времени всех этапов сетевого ожидания.
Reply all
Reply to author
Forward
0 new messages