以前、Azure SQL Database の Premium / Business Critical のゾーン冗長と性能への影響 という投稿を書きました。
2022/4 に General availability: Zone redundancy for Azure SQL Database general purpose tier というアナウンスがあり、General Purpose (汎用目的) でも、ゾーン冗長構成がサポートされるようになりました。
汎用目的の場合、General Purpose サービス レベルのゾーン冗長可用性 で解説されているように、ゾーン冗長は次のような構成となります。
汎用目的のゾーン冗長では、Premium / Business Critical とは異なり、AlwaysOn 可用性グループによるデータベースの冗長化ではなく、データベースのファイルをストレージレイヤーで冗長化させ、各可用性ゾーンにスペアノードを配置するという構成となっています。
このような構成の場合に、ゾーン冗長を使用した場合にどのように性能に影響が出るのかを、前回と同様に確認してみました。
測定した結果が以下になります。左がゾーン冗長を使用していない状態で、右がゾーン冗長を使用している状態の結果となります。
ゾーン冗長を使用していない環境では、「3~4ms」かかっていますが、ゾーン冗長を使用した場合は「4~5ms」となっており、Premium / Business Critical で確認したときと同じで 1~2 ms 程度、更新の処理のオーバーヘッドは発生するようですね。
AlwaysOn 可用性グループではなく、ストレージレイヤーの機能で、変更を他の可用性ゾーンに同期する際にもネットワークのオーバーへどは少し乗ってくることを意識しておいたほうがよさそうですね。