当前位置: 首页 > 科技观察

AWSEFS性能七大技巧_0

时间:2023-03-20 01:29:19 科技观察

【.com快译】你用过AmazonEFS吗?它的主要目的是使您能够为那些基于Linux的应用程序工作负载和程序构建基于云的网络文件系统。由于EFS的结构和功能类似于本地基础设施,您可以轻松地传输各种现有文件。但是,在您计划将任何应用程序负载转移到EFS之前,请“试驾”EFS,并在转移之后定期执行各种性能优化。当然,有实际项目经验的朋友都知道,在大多数情况下,性能并不是一门精确的科学,它会涉及到应用程序的各种真实环境和使用状态。所以,我们在优化性能的时候,往往无法一蹴而就,需要持续不断,甚至无论如何都要自动或手动设置和尝试。在本文中,您将通过七个重要方面了解AWSEFS的基本概念,如何配置和试用,以及如何保持EFS的应用程序负载平稳高效地运行。什么是AWSEFS?弹性文件系统(ElasticFileSystem,EFS)是AWS中的一种存储服务,可用于在云端重新创建网络文件系统。EFS基于网络文件系统v4(NFSv4),主要设计用于基于Linux的应用程序工作负载和程序。您可以将其与其他AWS服务和本地资源顺利集成。与其他存储服务相比,AWSEFS提供的功能最接近于现有的本地文件存储(详情请参考--https://cloud.netapp.com/blog/ebs-efs-amazons3-best-cloud-存储系统)。通过它,您可以轻松地将本地已有的文件结构迁移到云端,享受访问本地文件的流畅操作体验。为此,您可以在EC2(弹性计算云)中托管应用程序,然后将实例附加到EFS,或者将EFS用作独立的文件系统。在EFS中,您可以选择以下两种访问方式:标准访问(StandardAccess)是为您的基本应用程序负载而设计的。其特点是用较高的代价换取较低的访问时延。·InfrequentAccess(不频繁访问)专为需要长期保存但很少使用的文件而设计。其特点是:较低的成本换取较高的访问延迟。当然,无论选择哪种接入方式,EFS都是按使用量收费的。也就是说,它只对您实际使用的存储和传输带宽收费。如何试用EFS?在将文件传输到EFS之前,您通常希望试用该服务。基于此,您不仅可以熟悉其相关配置,评估其运行性能,还可以通过与当前本地系统的对比,更全面地估算使用EFS时所需的资源配置水平。接下来,让我们从EFS提供的“免费层”开始。免费的EFStier带有5GB的存储空间,可以使用12个月。如果您在EC2中已经有一个可以挂载文件系统的实例,那么尝试EFS并不困难。当然,如果你不喜欢这个“套餐”,你也可以为EC2选择一个免费套餐,提供750小时的使用时间,足以让你从容完成各种测试。为了构建您自己的演示,您可以通过命令行界面(CLI)或管理控制台(ManagementConsole)创建各种资源。关于如何使用管理控制台来设置和连接相应的服务,我们不再赘述。有兴趣的可以通过链接-https://docs.aws.amazon.com/efs/latest/ug/getting-started.html查阅AWS的相关文档。值得一提的是,在试用过程中,请尽量真实地模拟对目标文件系统的各种操作。例如:可以添加多个实例,使用单线程和多线程的方式写文件,使用标准的和不频繁的访问方式访问各种数据。AWSEFS性能的七个重要提示一旦您选择了EFS,您需要将注意力转移到确保您从投资中获得最大收益。以下是我优化和改进AWSEFS性能的七个重要技巧。而且您无需为不需要的资源支付额外费用。1.监控您的EFSBurst积分是EFS最容易被忽视的方面之一。这些积分旨在在高流量期间暂时提高您的应用程序的性能。但是,它们只持续很短的时间,需要一段时间才能恢复。因此,这意味着如果积分用完,应用程序的性能可能会突然下降。每个EFS卷通常以0.5MB/s的传输速率开始。Burstcredits可以补充吞吐量并将其提高到100MB/s,持续7.2分钟。增加此类指标的唯一方法是增加EFS卷中存储的数据量。也就是说,您可以期待在高达10GB的数据量下始终如一的良好性能。2.使用异步写操作异步写操作可以让你通过减少部分数据传输路径来减少写操作带来的延迟。开启异步写入后,数据会先缓存到一个EC2实例中,再写入EFS。但值得注意的是,该操作可能会影响数据的一致性。因此,如果您要求文件系统保持实时同步,最好不要使用这种操作方式。3.不要从EFS运行应用程序如果您尝试直接在EFS中运行应用程序,您可能会遇到性能低下的情况。毕竟,EFS不是为运行或托管应用程序而设计的。它既不能对大文件执行读取,也不能提供管理代码库或部署应用程序所需的速度。相反,您应该从EBS(弹性块存储)和EC2托管或运行您的应用程序(参见--https://dzone.com/articles/confused-by-aws-storage-options-s3-ebs-amp-efs-解释),并为附加文件重新存储EFS。例如,可以让EFS只提供内容,而将其对应的服务限制在EC2上,以保证应用程序能够获得预期的性能。4.监控平均I/O吞吐量跟踪平均I/O吞吐量可以帮助我们确定现有应用程序的瓶颈,然后尝试压缩存储区域。例如:如果一个应用程序需要使用多个文件,那么我们可以将这些文件合并为一个,从而降低对吞吐量的需求。反之,频繁请求多个小文件的操作很可能会在较短的时间内快速达到并超过预设的吞吐量限制。可以看出,通过减少可能的文件请求数,我们可以减少每秒的I/O操作。这不仅有助于减少延迟开销,还可以保持一定的性能范围。5.小心管理备份由于没有可用的快照功能,如果要在EFS中创建备份可能会遇到困难。通常,您必须使用AWSBackup服务,或者执行EFS-to-EFS备份。但是,无论使用哪种方法,您都需要保留各种备份的副本并密切监控备份所需的存储空间。另外,在创建备份时,最好安排在非工作时间进行,并使用限速复制创建。这样既可以避免影响各种标准操作的性能,也可以防止意外突发学分的发生。6.选择正确的性能模式在使用EFS时,您可以选择两种性能模式:通用(GeneralPurpose)——提供较低的吞吐量以换取较低的延迟操作。它专为标准化任务而设计,例如:网络托管或内容管理。此外,这是EFS的默认性能设置。·最大输入输出(MaxI/O)——提供更高的吞吐量以换取更高的延迟。它旨在处理繁琐的计算任务,例如:媒体处理或大数据分析(参见--https://dzone.com/articles/a-beginners-guide-to-big-data)。7.使用并发连接EFS被设计成允许大规模并发连接,最多可以同时附加数千个EC2实例。有了这个,您可以通过卸载不同的应用程序和负载来显着提高整体性能。当然,在配置这些连接时,您仍然会受到各个卷的总吞吐量以及传输速度的限制。总结AmazonEFS是一个强大的工具,但与许多其他自行配置的服务一样,它仍然需要您定期对其进行调整。为避免不必要的开销,您应该定期监视EFS突发信用和平均I/O吞吐量。此外,为确保最佳性能,您可以使用异步写入操作并避免直接从EFS运行应用程序。此外,为避免额外计费,您不仅需要管理各种备份,还需要为应用程序负载选择正确的性能模式。最后,您还可以利用并发连接来提高整体性能。原标题:AmazonEFS的8个关键性能技巧作者:IlaiBavati