質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2775閲覧

Nginx+Node.jsの秒間アクセス数について

ako

総合スコア15

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

1グッド

2クリップ

投稿2016/08/20 09:52

編集2016/08/25 08:40

AWSのEC2インスタンスにてNginx+Node.jsのサーバを作り色々試しているのですが、秒間のアクセス数500〜600くらいで限界がくるような感じです。
これはチューニングでなんとか出来るものなのでしょうか?
初めてなので手探りで進めており不安しかありません。
おすすめの設定などあればご教授いただけると助かります。

###試したこと
limits.confを編集し、ソフトリミット、ハードリミットを60000に変更
nginx.confに以下を追記
worker_rlimit_nofile 150000;
events {
worker_connections 65535;
}
###補足情報(言語/FW/ツール等のバージョンなど)
EC2インスタンス
c4.2xlarge
vCPU 8,メモリ 15GiB,専有 EBS 帯域幅 1000Mbps
Nginx/1.8.1

takotakot👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

追加依頼ではなく、回答面に書きます。

・帯域幅を「実際どのくらい」使っていますでしょうか
・ローカルで(ab とかを用いて)リクエストを投げた場合の挙動と同じでしょうか、異なりますでしょうか
・静的ファイルへのリクエストで良いでしょうか
・CPU はどの程度使用していますか、何にリソースを使っていますか

が気になります。また、

・limits.conf で変更したのは何の limit でしょうか。ファイルディスクリプタの上限…だとすれば「どの程度、クライアントのアクセスが分散するか」が気になってきます。ほとんどの人が特定のファイルしか読まないのであれば、設定してもあまり意味はないです。
・ディスク読み込みがボトルネックになっている場合(IOPS の関係で) は理由・次の手を考える必要がありそう
・ログはどの程度とっているか、ファイル書き込みが多くないか

といったところでしょうか。現在のご自分の見立てや分析を付記すると回答もしやすいかと思います。

・帯域幅を「実際どのくらい」使っていますでしょうか

?・ローカルで(ab とかを用いて)リクエストを投げた場合の挙動と同じでしょうか、異なりますでしょうか
上記2点ですが、調査できておりません。
特に、帯域幅を実際どのくらい使っているか、の調査はどのように行ったらよろしいのでしょうか?

帯域幅は、(ネットワーク系)モニタリングツール(netstat, dstat)を用いるか、ifconfig の外向きの通信量(TX)の変化を自分で読みます。

・静的ファイルへのリクエストで良いでしょうか

Nginx + Node.jsの環境なので静的ファイルへのリクエストではないです。

それは大きいです。Node.js を用いていることを質問自体に追記してください。

・CPU はどの程度使用していますか、何にリソースを使っていますか

Node.jsのワーカープロセスが8つ動いており、主にそこに使っています。

ということは、ボトルネックは nginx ではないのではないかと思います。

・limits.conf で変更したのは何の limit でしょうか

ファイルディスクリプタの上限になります。

静的ファイルをサーブしていないのなら、おそらく設定は無意味です。

・ログはどの程度とっているか

Nginxはアクセスログはoffになっていて、エラーログのみです。
レベルはデフォルトのままなのでerrorのはずです。

ということは、書き込み負荷が高いことはないでしょう。

詳しい調査もいりますが、おそらく、Node.js の限界です。

投稿2016/08/20 15:56

編集2016/08/23 06:47
takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ako

2016/08/22 13:04

返事が遅れてしまい申し訳ありません。 >・帯域幅を「実際どのくらい」使っていますでしょうか ?・ローカルで(ab とかを用いて)リクエストを投げた場合の挙動と同じでしょうか、異なりますでしょうか 上記2点ですが、調査できておりません。 特に、帯域幅を実際どのくらい使っているか、の調査はどのように行ったらよろしいのでしょうか? >・静的ファイルへのリクエストで良いでしょうか Nginx + Node.jsの環境なので静的ファイルへのリクエストではないです。 >・CPU はどの程度使用していますか、何にリソースを使っていますか Node.jsのワーカープロセスが8つ動いており、主にそこに使っています。 >・limits.conf で変更したのは何の limit でしょうか ファイルディスクリプタの上限になります。 >・ディスク読み込みがボトルネックになっている場合 まだ調査できておりません >・ログはどの程度とっているか Nginxはアクセスログはoffになっていて、エラーログのみです。 レベルはデフォルトのままなのでerrorのはずです。 初めてだったので基準に出来る数値がなく、雑な質問になってしまったにもかかわらず返答を頂きありがとうございます。
takotakot

2016/08/23 06:34

上のご回答は質問の根幹に関わることなので、ぜひ質問に追記ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問