私は自分のサイトやABなどをblitz.ioして、自分のサイトを同時に使用できるユーザーの数を把握しようとしています。
自分のボックス内:
同時実行500、10000は1秒あたり3kリクエストに達します。転送速度:130,339キロバイト/秒。
私の箱の外から:
同時実行500、10000ヒット1秒あたり約150〜200のリクエストを受け取ります。転送速度:5,543キロバイト/秒。
Blitz.io
blitz.ioを使用して、同時実行性が200を超え始めたときに、1秒あたり200リクエストで上限を設定します。
そのため、同時リクエストが増えるにつれて、私のアプリは1秒あたり200の応答を返しています。
これは、ネットワークスループットがRPSを外部クライアントに制限していることを意味しますか?私は、クライアントが十分な速度でダウンロードできれば(localhostなど)、サーバーが1秒あたり3000ヒットに応答できるという印象を受けています。
Nginxワーカーの数と接続をいじってみましたが、外部通話の上限は200RPSです。
これらのページをさらに提供するにはどうすればよいですか?
ネットワークのボトルネックがサーバーにあるのか、発信者にあるのかを確認するにはどうすればよいですか?
ここでの経験が不足しているため、負荷分散を使用してさらに3つのnginxサーバーをセットアップするようなことをしない限り、サーバーからのアウトバウンドにネットワーク帯域幅のボトルネックがあるかどうかはわかりません。
内部で100mb/sを取得できるため、外部ヒット(1000ユーザー)で100mb/sが要求され、サーバーがそれを世界中のさまざまな場所に出力できると想定するのは正しいですか?
データセンター間の帯域幅と遅延が不十分である可能性がありますが、データセンターの1つの境界でレート制限が発生しているように思われます。どちらでもかまいませんが、その場合はインバウンドデータセンターである可能性が高くなります。
負荷テストは、DOS/DDOSを試みているスクリプトキディと非常によく似ています。あなたのホスティングプロバイダーがあなたを保護しようとしている可能性があります。