AWS S3 - Performance
AWS S3 is an managed object storage service which offers industry leading
Scalability, Data Availability, Security and Performance. AWS S3 is used for various use cases like Website hosting, mobile apps, enterprise applications, IOT devices, Backup/restore requirements, Archiving and big data analytics.
AWS S3 provides a data durability of 99.99999999999 (11 9’s) by replicating the content over all the available AZ’s.
On talking about the performance, AWS S3 provides milli second GET latency on most of it’s storage classes (except for Glacier classes). And it also supports parallel request — means we can GET same object in parallel. But this parallel GET operation has a limit. AWS S3 currently supports 5,500 GET/HEAD request per second per prefix. Prefix is nothing but a folder name inside our bucket. That means by properly handling the bucket prefix we can increase the GET throughput. And AWS S3 dont have any limit on number of prefixes. So we can have as many prefixes as we need to achieve the required throughput.
Lets take an example, we have certain files in a particular standard class s3 bucket at location /images/logo.png. We can call this object 5,500 times per second. And if we have 2 files inside the same /images folder then this 5,500 quota is shared by both the objects in the folder.
And about the non GET operations like, put, delete, copy and post- S3 supports 3,500 requests per second.