google-cloud-storageload-balancingbandwidthbucketcloud-storage

Google cloud storage - static contents ( the effect of using more than one bucket with load balancer on performance) (beginner question)


I have some static contents which will be downloaded by a big number of concurrent users. I am using a google cloud storage bucket to serve those contents.

i am afraid of low performance due to bandwidth, or file read speed. in case of big number of concurrent users. i want to ask if is it better to use more than one bucket with a load balancer to serve the same contents, or there will not be much difference?


Solution

  • I have not benchmarked using multiple buckets, but I do not think there will be any benefit. The downside is increased complexity in your deployments.

    Cloud Storage is already very fast and can handle global access. I do not believe a single load balancer would be able to overload a storage bucket. There are exceptions such as object name hotspots (sequential object names), but this would also affect your multiple bucket strategy.

    You can also configure dual-region storage buckets, which are primarily used for replicating data. Selecting a bucket location will have more of an impact link.

    The key to fast performance for the client is two-fold. Network performance and locality.

    For network performance, ensure data travels from the bucket to the user over Google's premium tier network. This reduces the unpredictability of the Internet.

    To improve locality, bring the data closer to the client. This means using Google's CDN, which caches bucket data around the world at points-of-presence that are closer to the client.

    Read speed will be determined by the client's network speed (Internet connection) and TCP/IP stack configuration. Cloud Storage is many orders of magnitude faster.

    For best performance:

    Best practices for Cloud Storage