locked
Database mirroring requirement design RRS feed

  • Question

  • Hi Everyone,

    I have a plan to create High availability for my database use mirroring in my company. Mirrored database will be placed in DRC and i need to create capacity plan for this.

    But i'm not able to find  :

    1. How to count amount of RAM needed

    2. How to count IOPS needed

    3. How to count bandwidth needed for the I\O on the principal and mirror servers

    4. How to count network bandwidth needed

    Is there any suggestion where do i find answer for my questions? Thank you very much.

    Best Regards,

    Maliq


    Monday, September 16, 2013 5:57 AM

Answers

  • Hi Maliq!

    There is no really simple answer to your question...

    1) RAM: Just to Keep mirroring up to date you Need Little RAM. There are no read queries on the secondary, so you just Need to have enough to Keep the write queries in Memory as good as possible. I normally try to have 50% of the RAM in the DRC compared to the Primary, but there are Scenarios where 10% also is enough. But given your DB size the question really is: How much does that RAM cost? And how much would it in comparison cost to estimate it better? Most likely calculating it correctly is more cost intensive than just buying a bit more Memory...

    2+3) IOPS are tricky. In DB Mirroring the key Thing is that the secondary is constantly writing checkpoints, therefore your main Topic is that the data drives Need to be able to Keep up with your operations. What you can do is look at the Performance Counter "SQLServer:Buffer Manager" "Page writes/sec". This is about the IOPS you Need for the data drive. For the Transaction log you should have the same Setup as on your Primary. Bandwidth is simply the number of IOPS * 8K

    4) Bandwidth: That one you can only test... Create a mirror locally and look at the Perfmon Counter "SQL Server: Database Mirroring" "Log Bytes Sent/Sec".

    Cheers

    Rick

    • Proposed as answer by Sofiya Li Tuesday, September 17, 2013 8:33 AM
    • Marked as answer by Sofiya Li Tuesday, September 24, 2013 9:31 AM
    Monday, September 16, 2013 9:11 AM

All replies

  • Hi Everyone,

    I have a plan to mirror one database in my company. Since mirrored database will be placed in DRC i need to create capacity plan to do this.

    But i'm not able to find  :

    1. How to count amount of RAM needed

    2. How to count IOPS needed

    3. How to count bandwidth needed for the I\O on the principal and mirror servers

    4. How to count network bandwidth needed

    Is there any suggestion where do i find answer for my questions? Thank you very much.

    Best Regards,

    Maliq

    Hello,

    For all your questions best solution is you please test according to your infrastructure and database size .Below links might be helpful

    http://support.microsoft.com/kb/2001270

    http://technet.microsoft.com/en-us/library/cc917680.aspx#XSLTsection129121120120


    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

    Monday, September 16, 2013 6:08 AM
  • Hi Akbar

    1. How to count amount of RAM needed

    how many databases are there and what is the size of databases you are trying to implement the database

    2. How to count IOPS needed

    it depends upon how your database is busy in performing

    3. How to count bandwidth needed for the I\O on the principal and mirror servers

    you can use TCP/IP or any other monitoring tools

    4. How to count network bandwidth needed

    depends upon the bussiness enviroment, suggested to have 1 GBPS netwotk card


    Ramesh Babu Vavilla MCTS,MSBI

    Monday, September 16, 2013 6:15 AM
  • Hi Ramesh and Shanky,

    Thanks for replying my post. to answer Ramesh questions,

    1. how many databases are there and what is the size of databases you are trying to implement the database

    A : There is only 2 database. 1 Database size around 250GB and The other is around 20 MB

    2. it depends upon how your database is busy in performing

    A : Is there any links that might be helpful to count this?

    Shanky,

    I already read the links you gave but still not help to answer my questions. One thing that i could find on the links is how to count CPU Threads usage. Thanks.

    Regards,

    Maliq

    Monday, September 16, 2013 6:32 AM
  • Hi Maliq!

    There is no really simple answer to your question...

    1) RAM: Just to Keep mirroring up to date you Need Little RAM. There are no read queries on the secondary, so you just Need to have enough to Keep the write queries in Memory as good as possible. I normally try to have 50% of the RAM in the DRC compared to the Primary, but there are Scenarios where 10% also is enough. But given your DB size the question really is: How much does that RAM cost? And how much would it in comparison cost to estimate it better? Most likely calculating it correctly is more cost intensive than just buying a bit more Memory...

    2+3) IOPS are tricky. In DB Mirroring the key Thing is that the secondary is constantly writing checkpoints, therefore your main Topic is that the data drives Need to be able to Keep up with your operations. What you can do is look at the Performance Counter "SQLServer:Buffer Manager" "Page writes/sec". This is about the IOPS you Need for the data drive. For the Transaction log you should have the same Setup as on your Primary. Bandwidth is simply the number of IOPS * 8K

    4) Bandwidth: That one you can only test... Create a mirror locally and look at the Perfmon Counter "SQL Server: Database Mirroring" "Log Bytes Sent/Sec".

    Cheers

    Rick

    • Proposed as answer by Sofiya Li Tuesday, September 17, 2013 8:33 AM
    • Marked as answer by Sofiya Li Tuesday, September 24, 2013 9:31 AM
    Monday, September 16, 2013 9:11 AM