0

Amazon サーバーの crontab で +200 万の mysql クエリ (インデックスを使用した 1/2 選択ステートメント、2 つの varchar(25)、int(5) 列の 1/2 行挿入) を作成する php-cli スクリプトがあります。スクリプト自体の実行には数時間かかります。5分以内にまとめたいです。

行の挿入をスケールアップして時間を短縮するにはどうすればよいのだろうか? )))

私はmysqlクラスターを見てきましたが、データウェアハウジングなどについては何も知りません.これが探し始めるのに適切な場所であるかどうか誰か知っていますか? Hive/Hadoop のようなものがより適切でしょうか?

--edit 私はコンテキストのために ec2 マイクロインスタンスを使用しています。より負荷の高いインスタンスへの移行が必要になると予想していますが、普通の古い mysql デーモンに代わる mysql のような代替手段があるかどうか疑問に思っています。

4

1 に答える 1

0

マイクロ インスタンスからアップグレードするだけで、パフォーマンスが大幅に向上します。マイクロ インスタンスはバースト可能な CPU プロファイルを使用するため、そのインポートの大部分で非常に低いパフォーマンスで実行されます。

挿入を最適化するためにできることはたくさんあります。単一のトランザクション (InnoDB テーブル) でできる限りコミットするか、インデックスの更新を無効にする (MyISAM テーブル) と、より効率的な方法で作業を「グループ化」できます。

大量のデータを更新するある時点で、I/O の限界に達します。EC2 では、RAID 構成またはプロビジョニングされた I/O をテストして、パフォーマンスを最適に改善する方法を確認することができます。

于 2013-10-30T20:29:09.230 に答える