このドキュメントでは、インスタンス切替時に発生する数秒ぐらいの接続中断の影響と、自動再接続機能の設定について説明します。
MySQLは データベースインスタンス規格の調整、データベースエンジンバーションのアップグレードなどの処理を実行する時、またはマスターインスタンスが高負荷でハングしたり、ハードウェアに故障が発生したりする時など、インスタンスの切替につながる可能性があり、インスタンスの切替時に数秒ぐらいの接続中断が発生することがあります。
アプリケーションに自動再接続機能が設定されていない場合は、マスター/スレーブの切替後にアプリケーションの接続に異常が発生することで、サービスへの通常のアクセスに影響を与えることがあります。
アプリケーションの自動再接続機能を設定し、メンテナンス時間内にインスタンスを切り替えるようにお勧めします。
マスター/スレーブの切替によるアプリケーションの接続異常を回避するため、MySQLのアプリケーション自動再接続機能を設定し、接続プールのconnectTimeOutおよびsocketTimeOutパラメータを設定することをお勧めします。
サービスケースごとに適切なパラメータ値を設定し、OLTP(On-Line Transaction Processing)に基づくサービスケースの場合は、すべて20秒を設定することをお勧めします。
- connectTimeOut:データベースサーバにTCP接続を確立するアプリケーションのタイムアウト時間について、少なくともデータベースサーバに対するアプリケーションの応答時間よりも長くすることをお勧めします。
- socketTimeOut:TCP接続を介してデータパケットを送信した後に応答を待機するタイムアウト時間について、1つのSQLの最大実行時間に設定することをお勧めします。
この記事はお役に立ちましたか?