Limit SSH start concurrency

Starting many (90+) SSH connections has caused us some issues such as
failed DNS lookups and hitting process file descriptor limits.

To mitigate this, patch SSHKit::Backend::Netssh to limit concurrency of
connection starts. We'll default to 30 at a time which seems to work
without issue, but can be configured via:

```
sshkit:
  max_concurrent_starts: 10
```
This commit is contained in:
Donal McBreen
2023-06-22 15:12:43 +01:00
parent edcfc77d95
commit b25cfa178b
6 changed files with 63 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
spec.add_dependency "zeitwerk", "~> 2.5"
spec.add_dependency "ed25519", "~> 1.2"
spec.add_dependency "bcrypt_pbkdf", "~> 1.0"
spec.add_dependency "concurrent-ruby", "~> 1.2"
spec.add_development_dependency "debug"
spec.add_development_dependency "mocha"