AWS RDS中的负载平衡或只读副本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS RDS中的负载平衡或只读副本相关的知识,希望对你有一定的参考价值。
ASP.net MVC应用程序在EC2中,并且与RDS(SQL Server)交互。该应用程序正在通过NHibernate向RDS发送Bulk GET请求(API调用)以获取项目。该应用程序的性能非常慢,因为有时需要进行大约500次GET API调用才能从数据库中获取500个项目(请注意-从数据库中获取项目具有其自己的存储过程/逻辑)
我指的是这是为了理解缩放RDS https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/和https://aws.amazon.com/premiumsupport/knowledge-center/requests-rds-read-replicas/
但是,没有太多线索可以支持我的业务情景。
我的问题是(考虑以上情况):
有什么方法可以将我的GET请求分发到RDS(SQL Server),以便它可以快速从SQL Server返回500个项目?
是否有可能在没有任何代码或现有体系结构更改的情况下实现(都从.net到SQL端)?
我应该尝试哪些不同的方法来提高性能呢?
只读副本的定价细节是什么?
注意:该应用程序同时进行读写操作。而且,我对此特定的GET API调用更加关注。
谢谢。
是否可以将我的GET请求分发到RDS(SQL Server),以便它可以快速从SQL Server返回500个项目?
- 您将在您的应用程序中有一个路由器,它将请求路由到只读副本(可能很多)。
- 您可以为该用例提供具有不同实例类型的只读副本,并具有增强的容量。
- 您可以尝试使用内存缓存,它可以减少响应时间,并且可以将读取工作负载分担给只读副本。
是否有可能在不更改任何代码或不更改现有体系结构的情况下(都从.net到SQL端)实现?
- 基于documentation“应用程序可以连接到只读副本,就像连接到任何数据库实例一样。”这意味着您的应用程序需要进行其他修改才能支持用例。
我应该尝试哪些不同的方法来改善此性能?
- 具有读取容量的内存缓存和实例类型(与上面的建议相同)
只读副本的定价细节如何?
- 这将取决于您提供的实例类型。
以上是关于AWS RDS中的负载平衡或只读副本的主要内容,如果未能解决你的问题,请参考以下文章