0

INSERTsAmazon RDS MySQL d2.m2.xlarge データベースに大きなデータ(クエリで 40000 行)を同時に入力する 15 の Amazon AWS EC2 t1.micro インスタンスがあります。

クエリは継続的に送信されます。テーブルは INNODB で、2 つの INT 列があり、両方の列にインデックスがあります。データ受信中の RDS インスタンスの CPU 使用率は約 30% です。

EC2 インスタンスが 1 つの場合、15 個のインスタンスを同時に実行するよりも速度が桁違いに速くなります。そして、15 インスタンスのグループは、速度が完全に不十分になるまで、ますます遅くなります。

このプロセスのパフォーマンスを最適化するにはどうすればよいですか?

UPD: 私のSHOW CREATE TABLE結果は次のとおりです。

CREATE TABLE `UserData` (
 `uid` int(11) NOT NULL,
 `data` int(11) NOT NULL,
 PRIMARY KEY (`uid`,`data`),
 KEY `uid` (`uid`),
 KEY `data` (`data`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

uid値ごとにデータを取得する必要があるため、2 つのインデックスが必要dataです。

INSERT INTO UserData (uid, data) VALUES (1,2),(1,3),(1,10),...40000(uid,data)ペアでデータを挿入します。

15 個の並列インスタンスが 2 時間で ~121,000,000 行を挿入しますが、それよりもはるかに高速になると確信しています。

4

1 に答える 1