首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aspstate SQL Server数据库镜像高IO

Aspstate SQL Server数据库镜像高IO
EN

Stack Overflow用户
提问于 2014-09-25 19:05:34
回答 1查看 667关注 0票数 1

我们目前遇到了关于aspstate数据库镜像的问题,因为我们每天有大约10,000个活跃用户在线9-5天,并且aspstate数据库非常繁重地写入并将其传递到镜像,以至于镜像的驱动器的IO非常高,并且由于在镜像上写入数据的延迟而导致两个服务器都无法访问。我们使用的是SQL Server 2012标准,所以不是异步模式。

我们在亚马逊EC2实例上运行SQL Server,使用EBS支持的卷和1000IOPS,在您看来,这是否足够了?因为我们看起来非常顺利,有超过15,000个在线用户,而其他时候只有10,000个在线用户,并且镜像(备份服务器,而不是主服务器)上的磁盘队列长度有问题。

其原理是当磁盘队列长度增加时,以10-20 20mbps的常量写入aspstate.mdf文件。

我们将同时将IOPS增加到2000,因为目前我们必须禁用镜像,但是您会预料到这一点吗?以前有人处理过这样的卷吗?

问候

利亚姆

EN

回答 1

Stack Overflow用户

发布于 2014-09-25 21:15:14

对于像ASPState这样的高事务工作负载,瓶颈不是数据文件,而是事务日志。在同步镜像的情况下,会为网络和镜像上的同步提交引入额外的延迟。如果您有大量的APSState请求,这种延迟将是不可容忍的。请记住,除非在启用会话状态的情况下另行指定,否则每个ASP.NET页面请求将需要对会话状态行进行两次更新。因此,如果您有10,000个活动用户每15秒单击一次,则每个数据库上仅事务日志写入每秒就需要大约1,300个I/O。

如果您必须具有用于会话状态的HA,我建议使用故障转移群集来消除网络延迟。如果需要支持大量用户,请考虑使用内存中的会话状态解决方案,而不是开箱即用的ASPSession状态数据库。还要记住,会话状态数据是临时的,因此您可以放弃持久性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26037017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档