Rob*_*ith 25 amazon-s3 amazon-web-services
我有一些应用程序所需的图像.有许多图像(50,000+)但总体尺寸很小(40 Mb).最初,我以为我会简单地使用S3,但上传速度很慢.作为一个临时解决方案,我想附上一个包含图像的EBS,这样就可以了.但是,阅读一下有关EBS通用(gp2)的内容,我注意到以下描述:
GP2是Amazon EC2实例的默认EBS卷类型.这些卷由固态驱动器(SSD)支持,适用于各种事务工作负载,包括开发/测试环境,低延迟交互式应用程序和启动卷.GP2旨在提供一位数的毫秒延迟,提供3 IOPS/GB的一致基准性能,最高可达10,000 IOPS,并且每卷可提供高达160 MB/s的吞吐量.
正是这3个IOPS/GB的数量令我担忧.这在实践中意味着什么?假设您需要为少量用户提供电子商务网站(例如,每分钟<10,000个请求),并且需要检索这些图像.亚马逊描述了如何衡量IOPS:
当小型I/O操作在物理上连续时,Amazon EBS会尝试将它们合并为单个I/O,直到最大大小.例如,对于SSD卷,单个1,024 KiB I/O操作将计为4个操作,而每个4 KiB的256个I/O操作将计为256个操作.
这是否真的意味着如果我想在一秒钟内检索50个10kB的图像,我需要50 IOPS并且很容易超过3 IOPS的基线?
更新:
感谢Mark B的建议,我能够使用S3上传我的文件.但是,我仍然想知道执行常见任务所需的IOPS量,例如运行数据库或为Web应用程序提供其他文件.我很高兴根据您的经验听取一些关于IOPS最小值的参考值.
Mar*_*k B 22
您缺少该语句的" / GB "部分.基线是每GB 3 IOPS .如果您的EBS卷为100GB,那么您将拥有300 IOPS的基准.对于GP2 EBS卷,您必须将卷的大小加倍3才能获得IOPS.
需要注意的是1TB下的任何GP2体积也能够在高达3000个IOPS破裂,所以在任何IO增加有限,还是应该表现非常好.
此外,我将补充说S3听起来更适合您的用例.如果您看到S3的上传速度较慢,那么这是一个可以解决的问题.您可以使用CloudFront提供可上载到的附近边缘位置.
根据我的经验,上传到S3的速度绝不会比上传到您的EBS卷所附加的EC2实例慢.
更新:
要回答您的其他问题,所需的最低IOPS将取决于许多变量,例如可用的RAM量,您运行的应用程序类型,应用程序在内存中缓存值的程度,IO操作的平均大小等.确定一个确切的数字并说明你需要一个应用程序的X IOPS是非常困难的.
您还需要记住,任何大小不超过1TB的卷都可以在几秒钟内突破高达3,000 IOPS.所以,即使你的应用需要高IOPS,当它在使用时,如果没有看到太多使用率IOPS连拍功能可能是以往任何时候都需要所有.
一般来说,我通常从100GB的容量开始,具有300 IOPS,并测试我的应用程序的性能.完全在RAM内运行的Web服务器可能永远不需要更多.对于像数据库这样的东西,你可能会从你认为需要的磁盘空间量开始,然后开始性能测试.CloudWatch将显示您的应用程序正在使用的IOPS量,如果您看到它超出了您的卷的限制,那么您将知道您需要增加可用的IOPS.冲洗并重复,直到在性能测试期间不再超出可用的IOPS.
| 归档时间: |
|
| 查看次数: |
15033 次 |
| 最近记录: |