SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化 本文是基于上一篇《SQLServer 2012之AlwaysOn —— 指定数据同步链路,消除网络抖动导致的提交延迟问题》的问题继续进行优化;具体背景请参照上文;     前后折腾了一个多月,最近终于把这块难啃的骨头搞定了。
原文: SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化

本文是基于上一篇《SQLServer 2012之AlwaysOn —— 指定数据同步链路,消除网络抖动导致的提交延迟问题》的问题继续进行优化;具体背景请参照上文;

    前后折腾了一个多月,最近终于把这块难啃的骨头搞定了。问题只是出在网卡的高级功能上;

    解决方案:关闭网卡的高级功能Jumbo Mtu和Large Send Offload V2

    问题分析:根据Broadcom Ethernet 网络适配器的解释

Jumbo Mtu

Jumbo Mtu 属性允许网络适配器发送和接收长度大于 1514 字节但小于 9000 字节的超大 Ethernet 帧。此属性要求具有能够处理 Jumbo 帧的交换机。

默认情况下,帧大小设置为 1500 字节。要增加接收帧的大小,可按 500 字节的增量增大字节数量。

Large Send Offload

TCP 分段通常是由协议栈完成。启用 Large Send Offload 属性时,TCP 分段可由网络适配器完成。

Disable: 禁用 Large Send Offload。

Enable (默认值): 启用 Large Send Offload。

    Large Send Offload是网络适配器的高级功能之一,其目的是在网络适配器端进行TCP的分段工作,以此来降低CPU以及其他相关设备的压力;但随着多核CPU的广泛应用,网络适配器的处理能力相较于CPU弱了很多,因此当大量并发请求导致数据频繁更新或大数据量传送时,开启Large Send Offload将严重影响性能;

    在网上搜了一把,此类问题的影响还比较常见

http://www.bitdefender.com/support/Large-Send-Offload-causes-performance-and-slowdown-issues-459.html

http://www.peerwisdom.org/2013/04/03/large-send-offload-and-network-performance/

https://social.technet.microsoft.com/Forums/windowsserver/en-US/bdc40358-45c8-4c4b-883b-a695f382e01a/very-slow-network-performance-with-intel-nic-when-tcp-large-send-offload-is-enabled

    下图是优化前的性能曲线,图中表示方法调用TP99指标在100~300ms之间抖动

yestoday

    下图是优化后的性能曲线,可以看到优化后的方法调用TP99指标在100~150ms范围内,且比较平稳;

today

 

     尽管WSFC不再像Windows Cluster一样要有心跳线,但为了避免大量的数据同步对应用访问链路造成影响,还是建议增加直连线(或专用的数据同步网络),并修改endpoint_url使其生效,具体方法可以参照《SQLServer 2012之AlwaysOn —— 指定数据同步链路,消除网络抖动导致的提交延迟问题》操作;

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
6月前
|
前端开发 Java 数据库
JSp城市生活信息收集发布网myeclipse开发sqlserver2008数据库BS模式java编程网页结构struts2
JSP城市生活信息收集发布网是一套完善的web设计系统,对理解JSP java编程开发语言有帮助 struts2 dao+bean mvc模式,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为sqlserver2008,使用java语言开发,系统主要采用B/S模式开发。
24 0
|
SQL 数据库 C#
C#中将DataGrid上的修改同步到SQL Server数据库中
C#中将DataGrid上的修改同步到SQL Server数据库中
|
SQL Oracle 关系型数据库
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
774 0
|
XML 存储 关系型数据库
如何将数据从SQLServer同步至AnalyticDB for PostgreSQL
使用DTS,进行Sqlserver -> AnalyticDB for PostgreSQL 数据链路同步,可以很方便的将SQLServer中的分散的业务数据批量/实时导入至AnalyticDB for PostgreSQL, 进行复杂的OLAP查询与分析
3154 0
如何将数据从SQLServer同步至AnalyticDB for PostgreSQL
|
SQL Oracle 关系型数据库
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
标签 PostgreSQL , xDB replication server , sql server , oracle , ppas , 同步 , ddl , dml , 全量 , 增量 , log based , trigger based , smr(single-master replication) , mmr(multi-master replication) 背景 Post
487 0
|
SQL 测试技术 数据库
SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试 背景SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP。
5202 0
|
关系型数据库 MySQL 数据库
使用SyncNavigator进行SqlServer或者MYsql数据库的实时、增量同步
SyncNavigator是一款高效的数据库同步工具,支持sqlserver数据库和mysql数据库,采用增量同步的方式实时保存数据库数据。
1855 0
|
SQL 关系型数据库 数据库
阿里云重磅发布RDS for SQL Server AlwaysOn集群版
2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysOn核心技术实现的数据库集群版,并且是经过双十一检验的商业化版本。
3697 0
|
SQL 负载均衡 关系型数据库
RDS 发布 SQL Server AlwaysOn集群版
信息摘要: RDS 发布 SQL Server AlwaysOn 集群版,支持创建只读实例,实现业务读写分离架构适用客户: 使用SQL Server的客户,客户对数据库有读写分离的需求,期望利用只读实例实现读业务的分离,如数据的统计智能分析、业务热点流量分担等。
1530 0