Hi,

I need s3 sync in java. So I implemented it using AmazonS3Client in java. I
found the uploading/downloading speed is significantly worse than s3cmd.
The bottleneck is inside AmazonS3Client, even with tuned
ClientConfiguration.  The code looks like:

AmazonS3 s3 = new AmazonS3Client(new AWSCredentials() {
      @Override
      public String getAWSAccessKeyId() {
        return null;
      }

      @Override
      public String getAWSSecretKey() {
        return null;
      }
    },
        new ClientConfiguration()
            .withMaxConnections(200)
            .withProtocol(Protocol.HTTP)
            .withSocketTimeout(300 * 1000)
            .withSocketBufferSizeHints(4096 * 1000, 4096 * 1000));

I tried different values for these parameters. I read s3cmd's code, but
didn't find much clues why s3cmd is significantly faster. Can anyone give
me some advice?

Thanks!
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
S3tools-general mailing list
S3tools-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/s3tools-general

Reply via email to