Keep-AliveするとTCPコネクションを使い回し、名前解決やコネクション(3 way handshake)を毎回行わなくてよくなる。 Goのnet/httpではデフォルトでKeep-Aliveが 有効になっているが、 全体と同一ホストでそれぞれKeep-Aliveするコネクション数が制限される。 これらの値はClientのTransportが持っていて、 これがnullだとDefaultTransportが参照されるので、意識しなければこの値が使われる。 MaxIdleConns: DefaultTransportでは100になっている。0にすると無制限。 MaxIdleConnsPerHost: デフォルト値は2。0にするとデフォルト値が使われる。 同一のホストに同時にたくさんリクエストする場合、2だとほとんど意味を持たない。これを増やして比較してみた。 package main
![Goのnet/httpとKeep-Alive - sambaiz-net](https://cdn-ak-scissors.b.st-hatena.com/image/square/a9e6dfd6b8e1d1d20651a18da5f07e08d04e3d5e/height=288;version=1;width=512/https%3A%2F%2Fwww.sambaiz.net%2Fimages%2Fmy_l.jpg)