44

コンテスト中に参加者に投票し、中央ディスプレイにリアルタイムの投票統計を表示するために使用される Web アプリを構築しています。

コンテストは 15 分間続き、その間に約 4000 人のユーザーが Web アプリに接続して投票しますが、投票はユーザー デバイスごとに異なります。

Meteor.jsを使ってそのようなWebアプリを開発しようと考えています。しかし、このような大量の同時ユーザー向けのサービスを開発した経験がほとんどないことと、Meteor.js がベータ版の状態であることから、プロジェクトの実際の実現可能性について懸念があります。

私たちが取り組んでいる質問は次のとおりです。

  1. Meteor が処理できる同時ユーザー数のベンチマークはありますか? これは、Web アプリ自体の複雑さに依存すると思います。私たちの場合はかなり簡単です。中央のディスプレイに使用されるクライアントのみがライブ Mongo query にサブスクライブされvotes.find({})、残りのユーザーにはvote/already votedボタンのみが表示されます。

実際のケースまたはテスト シナリオからのデータがあれば、非常に役立ちます。

  1. Meteor のインフラストラクチャは 4000 人のユーザーを処理できますか? または、この削除された質問に記載されている他のホスティング ソリューションを使用する必要がありますか (表示するには 1 万人以上の担当者が必要です)。

  2. 知っておくべき Meteor.js 固有のパフォーマンスに関する考慮事項はありますか?

私たちはすでに同様の投稿を見てきましたが、どれもこれほど短期間にこれほど多くのユーザーを扱っていませんでした:

また、Cluster smart パッケージを使用することもできます。誰でもこれについて経験がありますか?

4

3 に答える 3

38

UPDATE ClassCraft は、1 つの Meteor サーバーが 6400 人の同時ユーザーを処理していると報告しています。Why Meteor の記事のスケーラビリティ セクションで詳細をお読みください。

フォーラムの投稿
「現在最大の Meteor アプリがサポートする同時ユーザー数は? 」も参照してください。


これは、正確には同時ユーザーに関するものではなく、サブスクリプションの設定に関するベンチマークです (おそらく、よりストレスの多いテストです)。

Arunoda は最近、 ( @alanning の meteor-load-test に似meteor-downた負荷テスト ツール) と、Meteor 負荷分散ツールであるClusterを使用したテストの結果を公開しました。

テストは最も安価な Digital Ocean サーバー (512MB RAM、月額 5 ドル) で実行され、結果はかなり印象的でした。

ここに画像の説明を入力

上記のすべてのシナリオで、サーバーの応答時間は 8 ミリ秒未満です。

基本的に、1 台の汎用マシンで 1 分あたり 2500 件の Meteor サブスクリプションを処理し、8 ミリ秒以内に応答できます。水平スケーリングのオーバーヘッドは 5% 未満です。

テストの詳細については、Meteor Cluster Performance Test: Impressive Resultsを参照してください。

于 2015-02-22T01:17:42.950 に答える
11

https://github.com/alanning/meteor-load-test

アプリをすばやくモックアップすると、15 分間で 4000 接続のテストを設定するのはかなり簡単です。個人的には使用していませんが、自分のアプリケーションの肉付けが完了したら使用する予定です。

于 2013-08-06T15:16:58.547 に答える