Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-3524

sending artifacts to master is very slow

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Component/s: remoting
    • Labels:
      None
    • Environment:
      Platform: PC, OS: All

      Description

      Our Hudson builds a .war file of about 100MB. Sending this artifact from the
      slave to the master over Gbit ethernet takes about 2 or 3 minutes. Gbit
      ethernet should do this in about 1 second theoreticly. Practicly scp takes
      about 4 seconds to copy 100MB.

      I made this testcase.
      -> New freestyle build -> Add build step 'Execute Shell' -> enter 'dd if=/dev/
      urandom of=this_is_big.bin bs=1M count=100' -> Archive artifacts
      'this_is_big.bin' -> Schedule at slave -> dd takes about 45 seconds -> job
      takes about 3 minutes.

      ngrep shows me a lot of serialized java stuff, but very little effective data
      is send per packet.

      I'm using Hudson 1.300 for master and slave.
      I hope people can reproduce and fix it.

        Issue Links

          Activity

          Hide
          javakoe Ronald Klop added a comment -

          I forgot to mention:
          java -version
          java version "1.6.0_04"
          Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
          Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)

          Linux linux15 2.6.22.18-rw5 #1 SMP Thu Mar 6 15:10:11 CET 2008 i686 GNU/Linux

          Show
          javakoe Ronald Klop added a comment - I forgot to mention: java -version java version "1.6.0_04" Java(TM) SE Runtime Environment (build 1.6.0_04-b12) Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode) Linux linux15 2.6.22.18-rw5 #1 SMP Thu Mar 6 15:10:11 CET 2008 i686 GNU/Linux
          Hide
          rexc rexc added a comment -

          I have a similar slow issue with copying artifacts from slave to master.

          The master is version 1.299 on FreeBSD with java 1.6, under tomcat
          The slave is a Mac OS X 10.4 with JVM of 1.5

          Show
          rexc rexc added a comment - I have a similar slow issue with copying artifacts from slave to master. The master is version 1.299 on FreeBSD with java 1.6, under tomcat The slave is a Mac OS X 10.4 with JVM of 1.5
          Hide
          javakoe Ronald Klop added a comment -

          Created an attachment (id=679)
          print the number of bytes send to the master

          Show
          javakoe Ronald Klop added a comment - Created an attachment (id=679) print the number of bytes send to the master
          Hide
          javakoe Ronald Klop added a comment -

          My patch displays the nr of bytes (in the byte[] in the Chunk) send in the
          Channel.
          The output while sending the artifact from the testcase is a lot of lines
          repeating like this:
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 14
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512
          channel write nr of bytes: 512

          So, this is not a lot of bytes at once.

          Show
          javakoe Ronald Klop added a comment - My patch displays the nr of bytes (in the byte[] in the Chunk) send in the Channel. The output while sending the artifact from the testcase is a lot of lines repeating like this: channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 14 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 channel write nr of bytes: 512 So, this is not a lot of bytes at once.
          Hide
          javakoe Ronald Klop added a comment -

          It is better since 1.302.
          Still scp copies the file in 3 seconds and hudson in 30 seconds, but it is a
          lot better than a couple of minutes to copy the file.

          Show
          javakoe Ronald Klop added a comment - It is better since 1.302. Still scp copies the file in 3 seconds and hudson in 30 seconds, but it is a lot better than a couple of minutes to copy the file.
          Hide
          thedotedge thedotedge added a comment -

          1.313 on CentOS 5.2, the speed is around 30kBps vs around 450kBps via scp.
          It's still better, but still very slow.

          Show
          thedotedge thedotedge added a comment - 1.313 on CentOS 5.2, the speed is around 30kBps vs around 450kBps via scp. It's still better, but still very slow.
          Hide
          mistafunk mistafunk added a comment - - edited

          a year passed... i run 1.369 and i still observe high copy times for a 250mb artifact from osx slave to linux master (2-3 hours!)... a manual scp shows ~20mb/s and it takes a couple of seconds

          Show
          mistafunk mistafunk added a comment - - edited a year passed... i run 1.369 and i still observe high copy times for a 250mb artifact from osx slave to linux master (2-3 hours!)... a manual scp shows ~20mb/s and it takes a couple of seconds

            People

            • Assignee:
              Unassigned
              Reporter:
              javakoe Ronald Klop
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: