2

私は、1 時間あたり最大 1,200 万行のコード (データあたり最大 1GB) を mySQL データベースにインポートする Web サイトを開発しています。さまざまな VPS と amazon ec2 を検討した後、最も費用対効果の高いソリューションを使用することを考えていました。

Web サイトへの訪問者に関しては、1 か月に 30 万から 60 万ページ ビュー (最大 15 GB の帯域幅) しかなく、1 日を通して均等に分散されます。

データをインポートするときに「IN FILE」を使用すると、一度に最大 200 ~ 35 万行がインポートされ、最大 1 ~ 3 秒しかかかりません。インポートは Cron ジョブを介して実行され、毎分 1 回実行されます (つまり、1 日に最大 1400 回)。

VPS を使用するか、Amazon EC2 を使用する方がよいでしょうか? また、Amazon EC2 を使用する場合、CPU スパイクはマイクロまたはスモールに対して大きすぎますか (ハイ CPU ミディアム インスタンスが必要でしょうか)?

mySQL が実際に 1 ~ 3 秒で処理する CPU の量、またはマイクロ インスタンスが CPU 時間で許容される量についての洞察を誰かが共有できれば.

VPS ルートを使用する場合、 http: //x10vps.com/self-managed-vps.phpから S1 パッケージを取得し、必要に応じて S3 にアップグレードします。

4

1 に答える 1

3

ロードしているデータの詳細について何も知らずに、これについて多くを語ることは困難です。MySQL はテーブルのインデックスを更新する必要がありますか? すべてが適切にソートされていますか? LOAD DATA INFILE列はいくつありますか? また、ステートメントで CPU を集中的に使用する操作(文字列の一部の置換など) を実行していますか? 古いデータは一定期間後に削除されますか?それともアプリケーションの存続期間中、すべてのデータを保持する必要がありますか?

そうは言っても、単一の Micro インスタンスではおそらくこれに対処するのに問題があるようです。十分な EBS ストレージ (おそらく RAID 構成) を使用してインスタンスをバックアップする場合、データのインポートは問題ありませんが、その単一のインスタンスがそのような大規模なデータ セットでユーザー クエリの実行も担当する場合、おそらくそうはいきません。非常にスムーズに実行します。インポート スクリプトの実行中に、ユーザー リクエストに対してせいぜい数秒の遅延が発生するだけです。アプリケーションによっては、受け入れられる場合と受け入れられない場合があります。

データに対して高価なクエリを実行する場合、単一のマイクロ インスタンスではうまく機能しないと今すぐ言えます:)より大きなインスタンスにスケールアップするか、必要に応じて、次のこともできます。代わりに SimpleDB または同様の NoSQL ソリューションの使用を検討したい (ただし、バッチごとに最大 25 アイテムのバッチ put を実行する必要があるため、インポート スクリプトでより多くのコードが必要になります)。

しかし、これらはほんの一部の一般的な考えです。そして、AWS は実際に新規ユーザーに無料使用層を提供します。これにより、1 セント硬貨を支払うことなく、EC2 Micro インスタンスを 1 年間継続して実行できます。アカウントにサインアップして、独自のテストを実行してみませんか? 詳細はこちら。マイクロ インスタンスがどのように機能し、どのようなアプリケーションに適しているかについて、より一般的な情報を次に示します。

于 2012-05-22T20:58:53.767 に答える