sshd settings in Gerrit configuration sshd settings in Gerrit configuration
sshd settings in gerrit.config.
sshd.threadsThis is another setting crucial to Gerrit performance. From Gerrit documentation:
Number of threads to use when executing SSH command requests. If additional requests are received while all threads are busy they are queued and serviced in a first-come-first-serve order. By default, 1.5x the number of CPUs available to the JVM.Based on our customer experience, you should set this parameter between 24 and 56. We recommend 48 as initial value and then fine-tuning it.
Number of threads to allocate for SSH command requests from non-interactive users. If equals to 0, then all non-interactive requests are executed in the same queue as interactive requests. Any other value will remove the number of threads from the queue allocated to interactive users, and create a separate thread pool of the requested size, which will be used to run commands from non-interactive users. If the number of threads requested for non-interactive users is larger than the total number of threads allocated in sshd.threads, then the value of sshd.threads is increased to accomodate the requested value. By default, 0.Value used by one of our customers:
sshd.batchThreads = 2
Number of threads to use when formatting events to asynchronous streaming clients. Event formatting is multiplexed onto this thread pool by a simple FIFO scheduling system. By default, 1 plus the number of CPUs available to the JVM.Value used by one of our customers:
sshd.streamThreads = 50
Maximum number of authentication attempts before the server disconnects the client. Each public key that a client has loaded into its local agent counts as one auth request. Users can work around the server’s limit by loading less keys into their agent, or selecting a specific key in their ~/.ssh/config file with the IdentityFile option. By default, 6.Value used by one of our customers:
sshd.maxAuthTries = 12