Nginxを使用して1台のサーバにHAProxyを適用
エージェントの理論を学んだら、すぐに実践を応用するとき
まず私に与えた条件は1台のサーバーなので、1台のサーバーをください.ううう
他のポスターも探しました.
2台のサーバであれば、1台のサーバにnginxを設定し、残りの1台はそのままnohupまたはdockerで開きます
もっと良い環境なら、残りの1台にもnginxを設置し、ルータに分岐すると、本当に最高ですが.l 3スイッチも高いですか?あとこんな話も….入手が難しいだけでなく...それよりもアマゾンの負荷バランスが効率的です.呜呜...
このように2つ開きますが、外部のPostmanやこのようなものでテストして渋滞の問題が発生した場合、サーバー.addressを修理すればいいです.
nginx configを変更する必要があります.既存のリバースエージェントの半分なので、リバースエージェントと同じに設定します.
サーバーセクション
ではhttp://localhost/apiはこのように入ってくると直接8080に変えます
今から上流へ行きましょう.
先ほど設定したプロキシパス部分を上流部分に適用します.
そんなふうに変わる
そして、nginx設定が変更されたので、nginxは再開
そしてjmeterで負荷テストを行い、before afterを比較します!
jmeterで負荷テストを行う方法は、次のとおりです.
ふかしけんここで確認
プロジェクトのテーマはスパッタなので.
10号サイクルCNT 1900名が1秒実施されたとき、以下のような状況が発生した.
1秒あたりのレンダリング数
作業スレッド数
ちえんじかん
2100人が10ループcnt 1秒を呼び出すと,起動したスレッド数から2100にとどまり終了する.
これでは、実際に2100人を収容するのは難しい.
テストしてみましょう
1900人が10番サイクルcntで1秒運転した時
作るたびに負荷図がいろいろになります.アマゾンec 2サーバーで
1秒あたりのレンダリング数
request failedが表示されますが、最初の分機が接続できないのではなく、2番目の接続かもしれません.
作業スレッド数
1200にボトルネックがありますが、ec 2サーバはあまりよくないようです.
ちえんじかん
一秒テストしたせいか、最後に飛び出してしまうことが多いです.
さっきec 2サーバーが一時停止したうちに...积み重ねたものが飞び散ったようだ.
最後に最も重要なスレッドグループです
2500人が10番サイクルcntで1秒運転した場合
2800名の時
3000名で失敗
およそ2800名くらい収容できます.
導入前
導入後
実際,1台で負荷バランスをとっているため,それほど効率は見られなかった.
プライベートトーク
まず私に与えた条件は1台のサーバーなので、1台のサーバーをください.ううう
他のポスターも探しました.
2台のサーバであれば、1台のサーバにnginxを設定し、残りの1台はそのままnohupまたはdockerで開きます
もっと良い環境なら、残りの1台にもnginxを設置し、ルータに分岐すると、本当に最高ですが.l 3スイッチも高いですか?あとこんな話も….入手が難しいだけでなく...それよりもアマゾンの負荷バランスが効率的です.呜呜...
2台のサーバ
java -jar app1.jar \
--server.servlet.context-path=/api \
--server.address=127.0.0.1 \
--server.port=8080
java -jar app2.jar \
--server.servlet.context-path=/api \
--server.address=127.0.0.1 \
--server.port=8081
このように2つ開きますが、外部のPostmanやこのようなものでテストして渋滞の問題が発生した場合、サーバー.addressを修理すればいいです.
Nginx設定
nginx configを変更する必要があります.既存のリバースエージェントの半分なので、リバースエージェントと同じに設定します.
サーバーセクション
location /api {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Connection "";
include /etc/nginx/proxy_params;
}
ではhttp://localhost/apiはこのように入ってくると直接8080に変えます
今から上流へ行きましょう.
upstream backend {
server localhost:8080;
server localhost:8081;
}
先ほど設定したプロキシパス部分を上流部分に適用します.
#proxy_pass http://localhost:8080;
proxy_pass http://backend;
そんなふうに変わる
そして、nginx設定が変更されたので、nginxは再開
sudo service nginx restart
パフォーマンスの比較
そしてjmeterで負荷テストを行い、before afterを比較します!
jmeterで負荷テストを行う方法は、次のとおりです.
ふかしけんここで確認
プロジェクトのテーマはスパッタなので.
10号サイクルCNT 1900名が1秒実施されたとき、以下のような状況が発生した.
1秒あたりのレンダリング数
作業スレッド数
ちえんじかん
2100人が10ループcnt 1秒を呼び出すと,起動したスレッド数から2100にとどまり終了する.
これでは、実際に2100人を収容するのは難しい.
テストしてみましょう
1900人が10番サイクルcntで1秒運転した時
作るたびに負荷図がいろいろになります.アマゾンec 2サーバーで
1秒あたりのレンダリング数
request failedが表示されますが、最初の分機が接続できないのではなく、2番目の接続かもしれません.
作業スレッド数
1200にボトルネックがありますが、ec 2サーバはあまりよくないようです.
ちえんじかん
一秒テストしたせいか、最後に飛び出してしまうことが多いです.
さっきec 2サーバーが一時停止したうちに...积み重ねたものが飞び散ったようだ.
最後に最も重要なスレッドグループです
2500人が10番サイクルcntで1秒運転した場合
2800名の時
3000名で失敗
およそ2800名くらい収容できます.
導入前
導入後
実際,1台で負荷バランスをとっているため,それほど効率は見られなかった.
Reference
この問題について(Nginxを使用して1台のサーバにHAProxyを適用), 我々は、より多くの情報をここで見つけました https://velog.io/@tekies09/Nginx로-1대서버에서-HAProxy-적용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol