8 servers of t1.small.x86
minio version
Version: 2018-08-22T12:25:38Z
Release-Tag: DEVELOPMENT.2018-08-22T12-25-38Z
Commit-ID: 8601f29d95f2ad2055613bedcc917e692ffab5fd
Version: 2018-08-11T04:32:07Z
Release-tag: DEVELOPMENT.2018-08-11T04-32-07Z
Commit-id: 22b8ab43bd26c73e3a9037c6d461bfd95307c96d
10MiB sized objects of 448 parallel uploads
Below script is run for uploading 448 parallel uploads of 10MiB objects to node1.
#! /bin/bash
mc --quiet --no-color mb node1/mybucket
for (( i = 1 ; i <= 448 ; i++ )) ; do
mc --quiet --no-color cp 10mb/10mb node1/mybucket/10mb-$i &
done
wait
Below is memory profile of node1.
~/run/10mb/448# go tool pprof ~/golang/gopath/bin/minio node1.mem.pprof
File: minio
Type: inuse_space
Time: Aug 22, 2018 at 2:04pm (UTC)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top10
Showing nodes accounting for 4297588.23kB, 99.76% of 4307914.91kB total
Dropped 458 nodes (cum <= 21539.57kB)
Showing top 10 nodes out of 50
flat flat% sum% cum cum%
2969600kB 68.93% 68.93% 2969600kB 68.93% github.com/minio/minio/pkg/bpool.(*BytePoolCap).Get
1027209.60kB 23.84% 92.78% 1027209.60kB 23.84% bytes.makeSlice
300456kB 6.97% 99.75% 300456kB 6.97% encoding/gob.encUint8Array
250.05kB 0.0058% 99.76% 2970366.60kB 68.95% github.com/minio/minio/cmd.xlObjects.putObject
32.25kB 0.00075% 99.76% 300496.63kB 6.98% encoding/gob.(*Encoder).encodeStruct
20.16kB 0.00047% 99.76% 1328342.44kB 30.83% github.com/minio/minio/cmd.(*RPCClient).Call
8.06kB 0.00019% 99.76% 2972331.34kB 69.00% github.com/minio/minio/cmd.requestSizeLimitHandler.ServeHTTP
4.06kB 9.4e-05% 99.76% 1328100kB 30.83% github.com/minio/minio/cmd.(*StorageRPCClient).AppendFile
4.03kB 9.4e-05% 99.76% 1327749.15kB 30.82% encoding/gob.(*Encoder).EncodeValue
4.02kB 9.3e-05% 99.76% 2972323.28kB 69.00% github.com/minio/minio/cmd.httpStatsHandler.ServeHTTP
(pprof)
From 484 parallel uploads of 10MiB object made minio on node1 to be killed by the kernel.
100MiB sized objects of 80 parallel uploads
Below script is run for uploading 80 parallel uploads of 10MiB objects to node1.
#! /bin/bash
mc --quiet --no-color mb node1/mybucket
for (( i = 1 ; i <= 80 ; i++ )) ; do
mc --quiet --no-color cp 100mb/100mb node1/mybucket/100mb-$i &
done
wait
Below is memory profile of node1.
~/run/100mb/80# go tool pprof ~/golang/gopath/bin/minio node1.mem.pprof
File: minio
Type: inuse_space
Time: Aug 22, 2018 at 2:28pm (UTC)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top10
Showing nodes accounting for 1439682.92kB, 99.39% of 1448493.43kB total
Dropped 498 nodes (cum <= 7242.47kB)
Showing top 10 nodes out of 50
flat flat% sum% cum cum%
983040kB 67.87% 67.87% 983040kB 67.87% github.com/minio/minio/pkg/bpool.(*BytePoolCap).Get
425806.43kB 29.40% 97.26% 425806.43kB 29.40% bytes.makeSlice
30820.35kB 2.13% 99.39% 30820.35kB 2.13% encoding/gob.encUint8Array
4.06kB 0.00028% 99.39% 456748.43kB 31.53% github.com/minio/minio/cmd.(*StorageRPCClient).AppendFile
4.03kB 0.00028% 99.39% 456682.97kB 31.53% encoding/gob.(*Encoder).EncodeValue
4.03kB 0.00028% 99.39% 983995.74kB 67.93% github.com/minio/minio/cmd.requestSizeLimitHandler.ServeHTTP
4.01kB 0.00028% 99.39% 983162.07kB 67.87% github.com/minio/minio/cmd.xlObjects.PutObjectPart
0 0% 99.39% 425806.43kB 29.40% bytes.(*Buffer).Write
0 0% 99.39% 425806.43kB 29.40% bytes.(*Buffer).grow
0 0% 99.39% 456682.97kB 31.53% encoding/gob.(*Encoder).Encode
(pprof)
From 88 parallel uploads of 100MiB object made minio on node1 to be killed by the kernel.