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

Severe performance penalties when tranferring data from a remote machine

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.4.0
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: