mirror of
https://github.com/minio/minio.git
synced 2025-02-08 20:28:08 -05:00
major performance improvements in range GETs to avoid large read amplification when ranges are tiny and random ``` ------------------- Operation: GET Operations: 142014 -> 339421 Duration: 4m50s -> 4m56s * Average: +139.41% (+1177.3 MiB/s) throughput, +139.11% (+658.4) obj/s * Fastest: +125.24% (+1207.4 MiB/s) throughput, +132.32% (+612.9) obj/s * 50% Median: +139.06% (+1175.7 MiB/s) throughput, +133.46% (+660.9) obj/s * Slowest: +203.40% (+1267.9 MiB/s) throughput, +198.59% (+753.5) obj/s ``` TTFB from 10MiB BlockSize ``` * First Access TTFB: Avg: 81ms, Median: 61ms, Best: 20ms, Worst: 2.056s ``` TTFB from 1MiB BlockSize ``` * First Access TTFB: Avg: 22ms, Median: 21ms, Best: 8ms, Worst: 91ms ``` Full object reads however do see a slight change which won't be noticeable in real world, so not doing any comparisons TTFB still had improvements with full object reads with 1MiB ``` * First Access TTFB: Avg: 68ms, Median: 35ms, Best: 11ms, Worst: 1.16s ``` v/s TTFB with 10MiB ``` * First Access TTFB: Avg: 388ms, Median: 98ms, Best: 20ms, Worst: 4.156s ``` This change should affect all new uploads, previous uploads should continue to work with business as usual. But dramatic improvements can be seen with these changes.
95 lines
3.5 KiB
Modula-2
95 lines
3.5 KiB
Modula-2
module github.com/minio/minio
|
|
|
|
go 1.16
|
|
|
|
require (
|
|
cloud.google.com/go v0.39.0
|
|
git.apache.org/thrift.git v0.13.0
|
|
github.com/Azure/azure-pipeline-go v0.2.2
|
|
github.com/Azure/azure-storage-blob-go v0.10.0
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.1 // indirect
|
|
github.com/Shopify/sarama v1.27.2
|
|
github.com/alecthomas/participle v0.2.1
|
|
github.com/bcicen/jstream v1.0.1
|
|
github.com/beevik/ntp v0.3.0
|
|
github.com/cespare/xxhash/v2 v2.1.1
|
|
github.com/cheggaaa/pb v1.0.29
|
|
github.com/colinmarc/hdfs/v2 v2.2.0
|
|
github.com/coredns/coredns v1.4.0
|
|
github.com/dchest/siphash v1.2.1
|
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
|
github.com/djherbis/atime v1.0.0
|
|
github.com/dswarbrick/smart v0.0.0-20190505152634-909a45200d6d
|
|
github.com/dustin/go-humanize v1.0.0
|
|
github.com/eclipse/paho.mqtt.golang v1.3.0
|
|
github.com/elazarl/go-bindata-assetfs v1.0.0
|
|
github.com/fatih/color v1.10.0
|
|
github.com/fatih/structs v1.1.0
|
|
github.com/go-ldap/ldap/v3 v3.2.4
|
|
github.com/go-sql-driver/mysql v1.5.0
|
|
github.com/gomodule/redigo v1.8.3
|
|
github.com/google/uuid v1.1.2
|
|
github.com/gorilla/handlers v1.5.1
|
|
github.com/gorilla/mux v1.8.0
|
|
github.com/hashicorp/vault/api v1.0.4
|
|
github.com/jcmturner/gokrb5/v8 v8.4.2
|
|
github.com/json-iterator/go v1.1.10
|
|
github.com/klauspost/compress v1.11.7
|
|
github.com/klauspost/cpuid v1.3.1
|
|
github.com/klauspost/pgzip v1.2.5
|
|
github.com/klauspost/readahead v1.3.1
|
|
github.com/klauspost/reedsolomon v1.9.11
|
|
github.com/lib/pq v1.8.0
|
|
github.com/mattn/go-colorable v0.1.8
|
|
github.com/mattn/go-ieproxy v0.0.1 // indirect
|
|
github.com/mattn/go-isatty v0.0.12
|
|
github.com/miekg/dns v1.1.35
|
|
github.com/minio/cli v1.22.0
|
|
github.com/minio/highwayhash v1.0.1
|
|
github.com/minio/md5-simd v1.1.1 // indirect
|
|
github.com/minio/minio-go/v7 v7.0.11-0.20210302210017-6ae69c73ce78
|
|
github.com/minio/selfupdate v0.3.1
|
|
github.com/minio/sha256-simd v1.0.0
|
|
github.com/minio/simdjson-go v0.2.1
|
|
github.com/minio/sio v0.2.1
|
|
github.com/mitchellh/go-homedir v1.1.0
|
|
github.com/montanaflynn/stats v0.5.0
|
|
github.com/nats-io/nats-server/v2 v2.1.9
|
|
github.com/nats-io/nats-streaming-server v0.19.0 // indirect
|
|
github.com/nats-io/nats.go v1.10.0
|
|
github.com/nats-io/nkeys v0.2.0 // indirect
|
|
github.com/nats-io/stan.go v0.7.0
|
|
github.com/ncw/directio v1.0.5
|
|
github.com/nsqio/go-nsq v1.0.8
|
|
github.com/olivere/elastic/v7 v7.0.22
|
|
github.com/philhofer/fwd v1.1.1
|
|
github.com/pierrec/lz4 v2.5.2+incompatible
|
|
github.com/pkg/errors v0.9.1
|
|
github.com/prometheus/client_golang v1.8.0
|
|
github.com/prometheus/client_model v0.2.0
|
|
github.com/prometheus/procfs v0.2.0
|
|
github.com/quasilyte/go-ruleguard v0.2.1 // indirect
|
|
github.com/rjeczalik/notify v0.9.2
|
|
github.com/rs/cors v1.7.0
|
|
github.com/secure-io/sio-go v0.3.1
|
|
github.com/shirou/gopsutil/v3 v3.21.1
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/streadway/amqp v1.0.0
|
|
github.com/tidwall/gjson v1.6.7
|
|
github.com/tidwall/sjson v1.0.4
|
|
github.com/tinylib/msgp v1.1.3
|
|
github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31 // indirect
|
|
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a
|
|
github.com/willf/bitset v1.1.11 // indirect
|
|
github.com/willf/bloom v2.0.3+incompatible
|
|
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c
|
|
go.etcd.io/etcd v0.0.0-20201125193152-8a03d2e9614b
|
|
go.uber.org/zap v1.13.0
|
|
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
|
|
golang.org/x/net v0.0.0-20201216054612-986b41b23924
|
|
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4
|
|
golang.org/x/tools v0.1.0 // indirect
|
|
google.golang.org/api v0.5.0
|
|
gopkg.in/yaml.v2 v2.3.0
|
|
)
|