上传

工具类: https://www.yuque.com/tangwx/wlxqwc/nf7drn

测试代码:

  1. public static void main(String[] args) {
  2. MinIoUtil ioUtil = new MinIoUtil("http://172.26.1.31:9009/", "admin", "Pass2017","dex");
  3. ioUtil.init();
  4. List<String> arr = new ArrayList<>();
  5. arr.add("/Users/twx/Downloads/java架构师之路/3.5.13深入分析Zookeeper的leader选举原理(上).vep");
  6. arr.add("/Users/twx/Downloads/java架构师之路/3.5.14深入分析Zookeeper的leader选举原理(下).vep");
  7. arr.add("/Users/twx/Downloads/java架构师之路/3.5.15zookeep核心原理之watcher源码分析(上).vep");
  8. arr.add("/Users/twx/Downloads/java架构师之路/3.5.16zookeep核心原理之watcher源码分析(下).vep");
  9. arr.add("/Users/twx/Downloads/java架构师之路/3.用300行代码收写提炼Spring的核心原理.vep");
  10. for (String url : arr) {
  11. try {
  12. File file = new File(url);
  13. InputStream ins = new FileInputStream(file);
  14. final int available = ins.available();
  15. float realSize = available/1024/1024;
  16. final Stopwatch sw = Stopwatch.createStarted();
  17. ioUtil.putObject(ioUtil.bucketName, file.getName(), ContentType.DEFAULT, ins);
  18. sw.stop();
  19. final Duration elapsed = sw.elapsed();
  20. System.out.println("文件: "+file.getName()+" 大小: "+realSize+"M \n"+
  21. "上传用时: "+sw+" 上传速度: "+(realSize/elapsed.getSeconds())+"MB/s");
  22. } catch (FileNotFoundException e) {
  23. e.printStackTrace();
  24. } catch (IOException e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. }

测试结果:(wifi)

  1. 文件: 3.5.13深入分析Zookeeperleader选举原理(上).vep 大小: 199.0M
  2. 上传用时: 46.77 s 上传速度: 4.326087MB/s
  3. 文件: 3.5.14深入分析Zookeeperleader选举原理(下).vep 大小: 291.0M
  4. 上传用时: 53.56 s 上传速度: 5.4905663MB/s
  5. 文件: 3.5.15zookeep核心原理之watcher源码分析(上).vep 大小: 231.0M
  6. 上传用时: 31.89 s 上传速度: 7.451613MB/s
  7. 文件: 3.5.16zookeep核心原理之watcher源码分析(下).vep 大小: 258.0M
  8. 上传用时: 50.55 s 上传速度: 5.16MB/s
  9. 文件: 3.300行代码收写提炼Spring的核心原理.vep 大小: 602.0M
  10. 上传用时: 1.827 min 上传速度: 5.522936MB/s

测试结果:(有线)

文件: 3.5.13深入分析Zookeeper的leader选举原理(上).vep 大小: 199.0M 
上传用时: 14.56 s 上传速度: 14.214286MB/s

文件: 3.5.14深入分析Zookeeper的leader选举原理(下).vep 大小: 291.0M 
上传用时: 19.92 s 上传速度: 15.315789MB/s

文件: 3.5.15zookeep核心原理之watcher源码分析(上).vep 大小: 231.0M 
上传用时: 15.85 s 上传速度: 15.4MB/s

文件: 3.5.16zookeep核心原理之watcher源码分析(下).vep 大小: 258.0M 
上传用时: 18.24 s 上传速度: 14.333333MB/s

文件: 3.用300行代码收写提炼Spring的核心原理.vep 大小: 602.0M 
上传用时: 42.39 s 上传速度: 14.333333MB/s

下载

测试代码:

public static void main(String[] args) {
    MinIoUtil ioUtil = new MinIoUtil("http://172.26.1.31:9009/", "admin", "Pass2017","dex");
    ioUtil.init();
    List<String> arr = new ArrayList<>();
    arr.add("3.5.13深入分析Zookeeper的leader选举原理(上).vep");
    arr.add("3.5.14深入分析Zookeeper的leader选举原理(下).vep");
    arr.add("3.5.15zookeep核心原理之watcher源码分析(上).vep");

    for (String url : arr) {
        Stopwatch sw = Stopwatch.createStarted();
        String output = "/Users/twx/Documents/minio/"+url;
        ioUtil.download(ioUtil.bucketName,url,output);
        sw.stop();
        final Duration elapsed = sw.elapsed();

        final long length = new File(output).length();
        long realSize = length/1024/1024;
        System.out.println("文件: "+url+" 大小: "+realSize +"M \n"+
                           "下载用时: "+sw+" 下载速度: "+(realSize/elapsed.getSeconds())+"MB/s");

    }
}

测试结果:(wifi)

文件: 3.5.13深入分析Zookeeper的leader选举原理(上).vep 大小: 199M 
下载用时: 14.38 s 下载速度: 14MB/s

文件: 3.5.14深入分析Zookeeper的leader选举原理(下).vep 大小: 291M 
下载用时: 17.02 s 下载速度: 17MB/s

文件: 3.5.15zookeep核心原理之watcher源码分析(上).vep 大小: 231M 
下载用时: 14.64 s 下载速度: 16MB/s

测试结果:(有线)

文件: 3.5.13深入分析Zookeeper的leader选举原理(上).vep 大小: 199M 
下载用时: 3.923 s 下载速度: 66MB/s

文件: 3.5.14深入分析Zookeeper的leader选举原理(下).vep 大小: 291M 
下载用时: 4.738 s 下载速度: 72MB/s

文件: 3.5.15zookeep核心原理之watcher源码分析(上).vep 大小: 231M 
下载用时: 2.655 s 下载速度: 115MB/s