私はAmazon RDSの顧客で、バックアップウィンドウにほぼ対応する毎日のAmazon RDS書き込みレイテンシスパイクを経験しています。また、スナップショットの最後にスパイクが表示されます(適切な場合:スナップショットの実行には約1時間かかり、最後の5分には書き込みレイテンシのスパイクがあります)。マルチAZ m1.large展開を実行しています。
StackにAmazon RDSバックアップが実際動作している方法を説明できる人はいますか? Amazon RDSのドキュメントを読みましたが、私が知る限り、Amazon RDSは仕様どおりに動作していません。具体的には、これらのバックアップ/スナップショット操作はレプリカにヒットしているはずなので、ダウンタイム/パフォーマンスヒットは発生しません。
私の問題を6つの質問にまとめることができます。
ボーナス質問:mysqlデータベースをどこでどのようにホストしますか?
私は、これらの毎日の書き込み遅延の問題を除いて、一般にRDSに満足していると言えます。私は組み込みのデータベース監視が大好きで、セットアップも実行も非常に簡単でした。
ありがとう!
自分で管理する一部のマシンでは、MySQLに加えて、いくつかのRDSインスタンスも実行します。私はアマゾンのエンジニアではないので、特にコメントすることはできませんが、あなたが見ているものを説明するかもしれないいくつかのことを学びました。
Amazonはバックエンドの詳細を100%共有しませんが、RDSデータベースをバックアップするためにEBSシステムを使用していると強く考えています。
この記事は、EBSの制限とスナップショット機能の説明に役立ちます http://blog.rightscale.com/2008/08/20/Amazon-ebs-explained/ 繰り返しますが、明示的ではありませんが、 Amazonはこのインフラストラクチャを使用してRDSサービスを提供しています。
通常、MySQLバックアップでは、スナップショットとは異なり、mysqldumpなどのツールを使用して、データベースを再現するSQLステートメントのファイルを作成します。これを行うためにデータベースを凍結する必要はありません。 EBSバックエンドでは、スナップショットの作成中にデータの破損を防ぐためにデータベースをフリーズする(すべてのトランザクションを一時停止する)のがベストプラクティスです。
バックアップウィンドウの終わりに表示されるスパイク。レプリカのスナップショット中にAmazonによってレプリケーションが一時停止された場合、スナップショットの完了時にレプリカはトランザクションを「キャッチアップ」する必要があります。これにより、レイテンシが急上昇します。
マルチAZ展開でのレプリケーションは、本質的にシングルAZ展開よりも低速です。冗長性を高めるために支払う価格。
Amazonは、マルチAZ配置で使用する基本アーキテクチャを明らかにしました。これは、人々が決断を下すのに役立つかもしれません
https://aws.Amazon.com/blogs/database/Amazon-rds-under-the-hood-multi-az/