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

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

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

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

523閲覧

クアイアントの数だけプロセスはメモリに割り当てられるか否か

infra____

総合スコア90

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/07/19 05:12

「テストで実際に見たウェブサーバの「遅い」状態とは」
https://qiita.com/kunihirotanaka/items/2438acb8d5c86921b3b1#%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B9%E3%81%8C%E9%81%85%E3%81%84%E3%81%A8%E3%81%AF

上記サイトを閲覧していて、プロセスはクライントの数だけメモリ空間に割り当てらると解釈しましたが、齟齬はございますでしょうか。
例えば、あるECサイトに5ユーザー(クライアント)が同時にアクセスした場合、5つのプロセスがメモリに割り当てられるのでしょうか。
それとも、プロセスは1つでスレッドが5つという状態なのでしょうか。

初歩的な質問で申し訳ございませんが、ご回答宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

それはサーバプログラムの仕様次第でしょう。

ここではWebを想定しているのでTCP上のHTTPサーバを考えます。サーバ側はポート80でTCP待ち受け状態で待機(listen)し、接続要求(accept)を受けたらデータ送受を開始します。ここで、同時接続の解決方法として考えられるものは以下のとおりです。

1 順番待ち
listen時に待ち行列を作り、順次処理する。並列処理ではない(listen関数の実装次第)。待ち行列作成分のオーバーヘッドはOS側の責任。

2 マルチスレッド
acceptの前でスレッドを分割

3 マルチプロセス
acceptの前でプロセスを分割

投稿2021/07/19 06:18

HogeAnimalLover

総合スコア4830

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

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

infra____

2021/07/19 06:42

ご返信ありがとうございます。 内容を基に、調査させて頂きます。 この質問の経緯ですが、Tomcat上でSpringbootを実行する予定なのですが、メモリを不足させる方法について疑問を感じていました。 返信内容を基に推測するに、Tomcatの設定に依存しそうですね。 更に学習を進めてみます。
guest

0

ベストアンサー

上記サイトを閲覧していて、プロセスはクライントの数だけメモリ空間に割り当てらると解釈しましたが、齟齬はございますでしょうか。

はい、サーバの種類によります

「C10K問題」と呼ばれるように、単純にスレッドで割り振るだけだとクライアントの増加に対応するのは難しいです。

Node.jsやnginxのように、イベントドリブンな非同期I/Oを使って、「接続を受け付ける部分」と「処理部分」を1対1対応にしない(極端な話、1プロセス1スレッドで全接続をさばくような設定も可能)、大量接続をさばく構造のサーバも存在します。

投稿2021/07/19 06:00

maisumakun

総合スコア146018

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

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

infra____

2021/07/19 06:42

ご返信ありがとうございます。 内容を基に、調査させて頂きます。 この質問の経緯ですが、Tomcat上でSpringbootを実行する予定なのですが、メモリを不足させる方法について疑問を感じていました。 返信内容を基に推測するに、Tomcatの設定に依存しそうですね。 更に学習を進めてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問