Uploaded image for project: 'MINA SSHD'
  1. MINA SSHD
  2. SSHD-253

Improve performance of auth and idle timeout checking

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 0.10.0
    • None

    Description

      SshServer performs auth and idle timeout checks by scheduling a Runnable to disconnect the session when the timeout occurs. Every time new data is received, the task is canceled and a new Runnable is scheduled.

      As a result ScheduledExecutorService.schedule is called very frequently and pops up in the profiling hotspots. I've created an alternative implementation that uses a single thread to periodically checks (once every second) all active sessions whether they've timed out.

      The performance impact of this change depends on the type of SSH usage. For operations that transfer a lot of data in a short time, the improvement is significant (about 8% in my test).

      Pull request: https://github.com/apache/mina-sshd/pull/1

      Attachments

        Issue Links

          Activity

            People

              gnodet Guillaume Nodet
              mheemskerk Michael Heemskerk
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: