8 Krypton

Optimal Write/Object Size in Atmos

Hello,

I have a few questions about what an optimal write/object size in Atmos is. i.e., if I am POSTing an object of size 500MB, I am faced with different ways that I can achieve it; I am listing all of those below and am wondering if you could comment on what the best practices are:

  1. I could just POST 500MB of data at one time. Is this the best approach?
  2. I could create an initial object, via POST, of 1 MB (say) and repeatedly use PUT's of 1MB to increase it to the total of 500MB.
      1. Is this a problem? Does it affect performance on the server (disk writes, buffering etc)
      2. Or does it actually improve performance?
      3. Does it make a difference if my initial POST size is 32MB and I do PUT's of 32MB?
  3. Is there an optimal write size at the network level that is best suited for Atmos?
    1. i.e., Does it matter what size TCP packets I write to the network? 64k? 128K? 1MB?
    2. Is there an optimal socket buffer size that I should use on side before I connect to Atmos? What is recommended to ensure optimal performance?
    3. Are there any specific network tweaks we can do on the client side to achieve optimal performance with Atmos?
  4. I could split up the object into 5 sub-object of 100MB each and manage them at my client application layer to appear as one object.
    1. Does this matter (in terms of performance) to Atmos?
    2. What if I do 500 objects of 1MB?
    3. Is there an optimal size of object that Atmos recommends that works best for it in terms of caching, reading, writing, replicating?

Thanks for your help.

Navneeth

0 Kudos