Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save balamurugana/d204c970744cf8a686ebde915c5bc2e4 to your computer and use it in GitHub Desktop.
Save balamurugana/d204c970744cf8a686ebde915c5bc2e4 to your computer and use it in GitHub Desktop.

Setup Information:

  • 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
  • mc version
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment