Performance gain with MultiSubnetFailover for single subnet
up vote
5
down vote
favorite
On BOL I read following about MultiSubnetFailover
=True:
The MultiSubnetFailover connection option should be set to True even if the availability group only spans a single subnet. This allows you to preconfigure new clients to support future spanning of subnets without any need for future client connection string changes and also optimizes failover performance for single subnet failovers.
As I understand the working of MultiSubnetFailover
, with this option set the client driver sets up a socket for each IP address associated with the listener. They are all checked in parallel to speed up the process to find the online IP and the first one that response will be the one used for the connection. Here I see a performance gain.
But where is the performance gain in a single subnet? There is only IP associated with the listener.
sql-server availability-groups sql-server-2017
add a comment |
up vote
5
down vote
favorite
On BOL I read following about MultiSubnetFailover
=True:
The MultiSubnetFailover connection option should be set to True even if the availability group only spans a single subnet. This allows you to preconfigure new clients to support future spanning of subnets without any need for future client connection string changes and also optimizes failover performance for single subnet failovers.
As I understand the working of MultiSubnetFailover
, with this option set the client driver sets up a socket for each IP address associated with the listener. They are all checked in parallel to speed up the process to find the online IP and the first one that response will be the one used for the connection. Here I see a performance gain.
But where is the performance gain in a single subnet? There is only IP associated with the listener.
sql-server availability-groups sql-server-2017
add a comment |
up vote
5
down vote
favorite
up vote
5
down vote
favorite
On BOL I read following about MultiSubnetFailover
=True:
The MultiSubnetFailover connection option should be set to True even if the availability group only spans a single subnet. This allows you to preconfigure new clients to support future spanning of subnets without any need for future client connection string changes and also optimizes failover performance for single subnet failovers.
As I understand the working of MultiSubnetFailover
, with this option set the client driver sets up a socket for each IP address associated with the listener. They are all checked in parallel to speed up the process to find the online IP and the first one that response will be the one used for the connection. Here I see a performance gain.
But where is the performance gain in a single subnet? There is only IP associated with the listener.
sql-server availability-groups sql-server-2017
On BOL I read following about MultiSubnetFailover
=True:
The MultiSubnetFailover connection option should be set to True even if the availability group only spans a single subnet. This allows you to preconfigure new clients to support future spanning of subnets without any need for future client connection string changes and also optimizes failover performance for single subnet failovers.
As I understand the working of MultiSubnetFailover
, with this option set the client driver sets up a socket for each IP address associated with the listener. They are all checked in parallel to speed up the process to find the online IP and the first one that response will be the one used for the connection. Here I see a performance gain.
But where is the performance gain in a single subnet? There is only IP associated with the listener.
sql-server availability-groups sql-server-2017
sql-server availability-groups sql-server-2017
edited Dec 7 at 15:45
Joe Obbish
20.2k32880
20.2k32880
asked Dec 5 at 13:17
Frederik Vanderhaegen
6171315
6171315
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
5
down vote
accepted
When MultiSubnetFailover=True
is set, SQL Server Native Client will aggressively retry the TCP connection.
So in
a multi-subnet scenario, it will attempt connections in parallel, which you already know.
a single subnet scenario, it will aggressively retry the TCP connection faster than the OS default TCP retransmit interval, so your reconnect time after an AG failover will be improved.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
When MultiSubnetFailover=True
is set, SQL Server Native Client will aggressively retry the TCP connection.
So in
a multi-subnet scenario, it will attempt connections in parallel, which you already know.
a single subnet scenario, it will aggressively retry the TCP connection faster than the OS default TCP retransmit interval, so your reconnect time after an AG failover will be improved.
add a comment |
up vote
5
down vote
accepted
When MultiSubnetFailover=True
is set, SQL Server Native Client will aggressively retry the TCP connection.
So in
a multi-subnet scenario, it will attempt connections in parallel, which you already know.
a single subnet scenario, it will aggressively retry the TCP connection faster than the OS default TCP retransmit interval, so your reconnect time after an AG failover will be improved.
add a comment |
up vote
5
down vote
accepted
up vote
5
down vote
accepted
When MultiSubnetFailover=True
is set, SQL Server Native Client will aggressively retry the TCP connection.
So in
a multi-subnet scenario, it will attempt connections in parallel, which you already know.
a single subnet scenario, it will aggressively retry the TCP connection faster than the OS default TCP retransmit interval, so your reconnect time after an AG failover will be improved.
When MultiSubnetFailover=True
is set, SQL Server Native Client will aggressively retry the TCP connection.
So in
a multi-subnet scenario, it will attempt connections in parallel, which you already know.
a single subnet scenario, it will aggressively retry the TCP connection faster than the OS default TCP retransmit interval, so your reconnect time after an AG failover will be improved.
edited Dec 7 at 16:23
Tony Hinkle
1,5751417
1,5751417
answered Dec 5 at 15:28
Kin
52.6k478187
52.6k478187
add a comment |
add a comment |
Thanks for contributing an answer to Database Administrators Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f224196%2fperformance-gain-with-multisubnetfailover-for-single-subnet%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown