mariadb 10のmysqldumpは非常に遅いです。

mariadb 10のmysqldumpは非常に遅いです。

AWS RDS で MariaDB 10.1.34 インスタンスを実行しています。インスタンスの仕様は次のとおりです。

  • インスタンスクラス: db.t2.large
  • ストレージスペース:100GiB gp2
  • データベースサイズ:1.2GiB

データベースと同じアベイラビリティーゾーンにあるEC2インスタンスにmysqdumpを作成しようとしています。これが動作している間、パフォーマンスは非常に悪いです。 mysqldumpを使用してデータベース(1.2GiBサイズ)をダンプするのに約15分かかります。

私はEC2インスタンスでディスクとネットワークの使用量を監視してきました。 mysqldumpの最初の5秒間、ネットワーク使用量は約600Mbit / sから最高潮に達し、その後約200kbit / sに低下します。ディスク使用量も同様です。

奇妙なことに、データベースインスタンスを再起動すると、動作が一時的に変更されるようです。 mysqldumpは完了するのに30秒かかり、再び遅くなりました。

データベースインスタンスの書き込みIOPSは10〜15程度で、読み取りIOPSはインスタンスが再起動されるまで20を超えません。

この問題をさらにデバッグする方法について提案をいただきありがとうございます。

編集する:

mysqldumpコマンドも追加する必要があります。

ubuntu@server:~$ mysqldump --version
mysqldump  Ver 10.13 Distrib 5.7.23, for Linux (x86_64)
ubuntu@server:~$ mysqldump -h <db_host> -p -P 3306 -u <read_only_user> --quick --single-transaction --skip-lock-tables <database> > dump.sql 

ベストアンサー1

これはあなたが正しい典型的なケースです。T2/T3バースト性能

ご存知のように、T2 / T3インスタンスがアイドル状態のときに「CPUクレジット」を蓄積し、必要に応じて迅速に実行するために使用されます。ただし、インスタンスが最大速度で実行されると、これらのクレジットが使い果たされ、残りのクレジットがないとインスタンスが遅くなります。詳しくはこちらをご覧ください。バーストパフォーマンスインスタンスのCPUクレジットと基本パフォーマンス

上記だけで言及したが、CPUポイント経験的に直接的な影響を与えることを知っています。ネットワークパフォーマンス繰り返しますが、Amazonはそれに関するドキュメントを見つけることができません。これもあなたが観察したものです。

この問題を解決するには、2 つのオプションがあります。

  1. に切り替えるM4/M5 インスタンスタイプ- 一定のパフォーマンスを持ち、CPUクレジットの影響を受けません。しかし、T2/T3より少し高価です。

  2. 〜できるようにするT2無制限環境(ねえ)、インスタンスポイントがゼロになるたびにインスタンスポイントが再充電されますが、追加料金を支払う必要があります。あなたのユースケースに最適なオプションかもしれません。ただし、調整なしで常にT2を最高速度で実行すると、同じサイズのM4インスタンスを実行するよりもコストがかかります。

おすすめ記事