locked
Network Packet Size Or Bandwidth Restriction in Database Mirroring RRS feed

  • Question

  • Hi Everyone,

    I tried finding online but couldn't get answer to the below question.

    Is it possible to restrict the packet size for the SQL Database Mirroring? Is it possible to tell database mirroring what size packets it should send to the mirrored database? Is it possible to define the bandwidth or packets per second for mirroring? If yes, is it possible at the server level or database level? If yes, how to do this?

    The reason that I want to know this is because, if I have N number of databases on a server and I'm mirroring them on other server in a separate location, how will I get to know the bandwidth constraint and if there is a bandwidth constraint can I control the data sent through database mirroring to ensure that the bandwidth is not affected?

    Thanks
    Mayur Kashikar

    Thursday, January 8, 2015 10:06 AM

Answers

  • Database Mirroring has no such setting specific to "per database" or "per server" which can limit the packets sent over the wire. Remember that communication of database doesn't happen via regular port. There is a separate port use by database mirroring (generally 5022)

    Network packet size is setting which is for communication happening on regular connection port (i.e. TDS packets). Database mirroring doesn't use TDS packets but it uses the Service Broker network stack.

    In short, there is no such setting which can control the communication the way you want.

    If you search for Jumbo Frame, you might get some reference about performance gain but remember that if you use Jumbo frame then it has to be supported by each and every component in the network else you would have packet drop and mirroring would be disconnected.


    Balmukund Lakhani
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    --------------------------------------------------------------------------------
    This posting is provided "AS IS" with no warranties, and confers no rights.
    --------------------------------------------------------------------------------
    My Blog | Team Blog | @Twitter | Facebook
    Author: SQL Server 2012 AlwaysOn - Paperback, Kindle

    • Proposed as answer by Shanky_621MVP Thursday, January 8, 2015 3:40 PM
    • Marked as answer by Mayur Kashikar Friday, January 9, 2015 4:51 AM
    Thursday, January 8, 2015 3:36 PM
  • Network packet size can be changed at server level as Shanky shared link. It may effect database mirroring as well by sending the bigger packets. But this will send the same packet size to every other servers not limited to single server. May be some setting at network end that can do this to resolve this by sending different packets to different servers.

    Thanks,

    Neeraj


    Thursday, January 8, 2015 2:02 PM

All replies

  • I am not sure whether this option would work/ how it would work for mirroring as I have never tried I am giving you this option to do bit of research. Have a look at below link

    Configure the network packet size Server Configuration Option

    IMO it could be better controlled from Network stack


    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

    My Technet Wiki Article

    MVP

    Thursday, January 8, 2015 10:24 AM
  • Network packet size can be changed at server level as Shanky shared link. It may effect database mirroring as well by sending the bigger packets. But this will send the same packet size to every other servers not limited to single server. May be some setting at network end that can do this to resolve this by sending different packets to different servers.

    Thanks,

    Neeraj


    Thursday, January 8, 2015 2:02 PM
  • Database Mirroring has no such setting specific to "per database" or "per server" which can limit the packets sent over the wire. Remember that communication of database doesn't happen via regular port. There is a separate port use by database mirroring (generally 5022)

    Network packet size is setting which is for communication happening on regular connection port (i.e. TDS packets). Database mirroring doesn't use TDS packets but it uses the Service Broker network stack.

    In short, there is no such setting which can control the communication the way you want.

    If you search for Jumbo Frame, you might get some reference about performance gain but remember that if you use Jumbo frame then it has to be supported by each and every component in the network else you would have packet drop and mirroring would be disconnected.


    Balmukund Lakhani
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    --------------------------------------------------------------------------------
    This posting is provided "AS IS" with no warranties, and confers no rights.
    --------------------------------------------------------------------------------
    My Blog | Team Blog | @Twitter | Facebook
    Author: SQL Server 2012 AlwaysOn - Paperback, Kindle

    • Proposed as answer by Shanky_621MVP Thursday, January 8, 2015 3:40 PM
    • Marked as answer by Mayur Kashikar Friday, January 9, 2015 4:51 AM
    Thursday, January 8, 2015 3:36 PM
  • a bit of work... you could have the mirroring on a different VLAN to user traffic?  Same principal applies to backups, but you could control them at the network layer.

    Thanks, Andrew
    My blog...

    Thursday, January 8, 2015 3:42 PM