web-dev-qa-db-ja.com

AWSi3.2xlargeは10KIOPSに制限されていますか?

AWSを使用していますi3.2xlarge EC2インスタンスであり、10KIOPSの制限に直面しています。なんでだろう?

NVMeインスタンスストレージにのみ書き込みます。何をしてもその限界を超えることはできません。 I3 classインスタンスはそれをはるかに超える可能性があると思いましたか?

足りないものはありますか?より高いIOPSに到達するには、より大きなインスタンスが必要ですか?高くなる前に、それがそれらのインスタンスの一般的な制限なのか、それとも私のセットアップの何かなのかを理解したいと思います。

そのタイプのインスタンスでより高いスループットを達成できる人はいますか?制限が10KIOPSなのはなぜですか?その理由は何ですか?そして、それを超える方法は?

注:データベースアプリケーションを実行していて、そのアプリケーションに対して多くの更新要求を行っています。

2
MaatDeamon

あなたは100%確実あなたはローカルSSDストレージに書き込んでいますか?

誤って代わりにEBSボリュームを使用のように聞こえますが、10KIOPSの制限は次のことを示唆しています...

確認方法: InAmazon Linux 2on i3.2xlargeNVMeインスタンスストレージは/dev/nvme0n1 while EBSボリュームは/dev/xvd*です。使用しているディレクトリ/ベンチマークにマウントされているデバイスを確認します。

[root@ip-172-31-41-210 ~]# mount
/dev/xvda1 on / type xfs (rw,noatime,attr2,inode64,noquota)
/dev/xvdba1 on /ebs-storage type ext4 (rw,relatime,data=ordered)
/dev/nvme0n1 on /local-storage type ext4 (rw,relatime,data=ordered)

ここでは、2番目のEBSボリュームが/ebs-storageとしてマウントされ、NVMeインスタンスストレージが/local-storageとしてマウントされています。

NVMe diskを使用するには、明示的にformattedmkfs)およびmountedである必要があることに注意してください。デフォルトでは、インスタンスはEBSでバックアップされたルートディスクで始まり、高速NVMeディスクは使用されません!

お役に立てば幸いです:)

5
MLu

AWSのこのページ は、i3.2xlargeが412,500のランダム読み取りIOPSと180,000の書き込みIOPSを実行できることを示しています。比較すると、i3.16Xlargeは330万のランダム読み取りIOPSと140万の書き込みIOPSを実行できます。

それはまた言う

インスタンスのSSDベースのインスタンスストアボリュームをいっぱいにすると、達成できる書き込みIOPSの数が減少します。これは、SSDコントローラーが使用可能なスペースを見つけ、既存のデータを書き換え、未使用のスペースを消去して書き換えられるようにするために行う必要のある余分な作業によるものです。ガベージコレクションのこのプロセスにより、SSDへの内部書き込み増幅が発生します。これは、SSD書き込み操作とユーザー書き込み操作の比率として表されます。書き込み操作が4,096バイトの倍数でない場合、または4,096バイトの境界に揃えられていない場合、このパフォーマンスの低下はさらに大きくなります。少量のバイトまたは整列されていないバイトを書き込む場合、SSDコントローラーは周囲のデータを読み取り、結果を新しい場所に保存する必要があります。このパターンにより、書き込み増幅が大幅に増加し、レイテンシが増加し、I/Oパフォーマンスが劇的に低下します。

ベンチマークツールを実行して、到達できるIOPSの数を確認することをお勧めします-申し訳ありませんが、ツールをお勧めすることはできません。その後、それはおそらくインスタンス用にデータベースを最適化する場合です。インターネット上のどこかに、i3インスタンス用にソフトウェアを最適化することに関する記事がおそらくあります。

それ以外の場合は、AWSサポートに連絡するためのアドバイスが適切です。彼らのサポートは素晴らしいです。開発者レベルはそれほど高価ではありませんが、あなたは彼らのサポートにお金を払わなければなりません。

2
Tim

AWSでは、IOPSレートは制限されていますボリュームあたり

より高いスループットが必要な場合は、1つの巨大なボリュームではなく、より多くの小さなボリュームを使用するのが最善です。次に、ボリュームを配置できます。 SW-RAIDを使用するか、複数のデータストアを使用するようにソフトウェアを構成します。

1
Fer Dah