Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set MaxIdleConnsPerHost alongside MaxIdleConns #3592

Merged
merged 1 commit into from Dec 17, 2017

Conversation

bboreham
Copy link
Member

@bboreham bboreham commented Dec 17, 2017

Otherwise it defaults to 2, and Go will close extra connections as soon as a request is finished.
See golang/go#13801

I chose the number 100 1000 arbitrarily; it should be at least as high as the the number of services you expect to poll at the same IP address, or the number of parallel remote_write operations.

Fixes #3510

@brian-brazil
Copy link
Contributor

The blackbox exporter can manage 1k probes per second per core, so I'd suggest at least 1k.

Otherwise it defaults to 2, and Go will close extra connections as
soon as a request is finished.
See golang/go#13801
@bboreham
Copy link
Member Author

OK, changed to 1,000

@brian-brazil brian-brazil merged commit a8cce41 into prometheus:master Dec 17, 2017
@brian-brazil
Copy link
Contributor

Thanks!

alexellis added a commit to openfaas/faas that referenced this pull request Jan 18, 2019
- due to what appears to be a frequent issue with the Go HTTP
client some tweaks were needed to the HTTP client used for
reverse proxying to prevent CoreDNS from rejecting connections.

The following PRs / commits implement similar changes in
Prometheus and Minio.

prometheus/prometheus#3592
minio/minio#5860

Under a 3-node (1-master) kubeadm cluster running on bare
metal with Ubuntu 18.04 I was able to send 100k requests
with 1000 being concurrent with no errors being returned
by hey.

```
hey -n 100000 -c 1000 -m=POST -d="hi" \
  http://192.168.0.26:31112/function/go-echo
```

The go-echo function is based upon the golang-http
template in the function store using the of-watchdog.

Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
alexellis added a commit to openfaas/faas that referenced this pull request Feb 4, 2019
- due to what appears to be a frequent issue with the Go HTTP
client some tweaks were needed to the HTTP client used for
reverse proxying to prevent CoreDNS from rejecting connections.

The following PRs / commits implement similar changes in
Prometheus and Minio.

prometheus/prometheus#3592
minio/minio#5860

Under a 3-node (1-master) kubeadm cluster running on bare
metal with Ubuntu 18.04 I was able to send 100k requests
with 1000 being concurrent with no errors being returned
by hey.

```
hey -n 100000 -c 1000 -m=POST -d="hi" \
  http://192.168.0.26:31112/function/go-echo
```

The go-echo function is based upon the golang-http
template in the function store using the of-watchdog.

Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
kiku-jw pushed a commit to kiku-jw/faas that referenced this pull request Mar 7, 2019
- due to what appears to be a frequent issue with the Go HTTP
client some tweaks were needed to the HTTP client used for
reverse proxying to prevent CoreDNS from rejecting connections.

The following PRs / commits implement similar changes in
Prometheus and Minio.

prometheus/prometheus#3592
minio/minio#5860

Under a 3-node (1-master) kubeadm cluster running on bare
metal with Ubuntu 18.04 I was able to send 100k requests
with 1000 being concurrent with no errors being returned
by hey.

```
hey -n 100000 -c 1000 -m=POST -d="hi" \
  http://192.168.0.26:31112/function/go-echo
```

The go-echo function is based upon the golang-http
template in the function store using the of-watchdog.

Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

operation was canceled during DNS lookup with remote_write
2 participants