繁体   English   中英

Aspstate SQL Server数据库镜像高IO

[英]Aspstate SQL Server database mirroring high IO

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

我们正在具有EBS支持的卷和1000IOPS的Amazon EC2实例上运行SQL Server,在您看来这是否足够? 好像我们有一个非常平稳的时期,我们有超过15,000个用户在线,然后其他时候只有10,000个用户在线,并且镜像上的磁盘队列长度有问题(备份服务器而不是主服务器)。

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

同时,由于目前我们不得不禁用镜像,因此我们打算将IOPS增加到2000,但是您会期望这样吗,并且以前有人处理过这种卷吗?

问候

利亚姆 资源监控器性能监控器Cloudwatch

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

如果必须具有用于会话状态的HA,建议使用故障转移群集以消除网络延迟。 您也可以考虑通过为不需要会话状态的页面指定只读或无指令来调整会话状态。 如果您需要支持大量用户,请考虑使用内存中会话状态解决方案,而不是使用现成的ASPSession状态数据库。 还要记住,会话状态数据是临时的,因此您可以放弃持久性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM