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

Severe performance penalties when tranferring data from a remote machine

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Labels:
      None

      Description

      I tried setting up a simple SSHD and doing an SCP of a large file from a remote machine.
      I managed to move around 3 MiB/s, compared to the native implementations 11 MiB/s, which is unacceptable.

      I did some analysis with JRockit Mission Control and found that the problem is Socket Read latency. Most of them Socket Reads are only 512 bytes (small packets are normally death) and quite a lot return "-2" from the java nio library, which seems to indicate an UNAVAILABLE code from sun.nio.ch.IOStatus. Thus it seems that Mina is the problem, polling to aggressively.

      I originally thought the bottleneck lay in the wait/notify mechanism of ChannelPipedInputStream, but ~80000 wait/notify pairs in 3 minutes is not too bad.

      Please investigate why Mina SCP suffers from bandwidth problems.

      If I use localhost both as client and server, no similar problems exists.

        Attachments

        1. brokentcp.png
          164 kB
          Marcus Lagergren

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lagergren Marcus Lagergren
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: