Webサーバ~Nginx~

今回の記事ではWebサーバのNginxについて紹介します。

1ヶ月以上前ですが、Nginxが日本にオフィスを開設したというニュースが流れました。

今後よりNginxの需要が増えてくるのではないかと考え、Nginxについて少し勉強しました。

 

以下impressさんの記事の引用です。

it.impressbm.co.jp

 

Nginxの特徴

さてあらためて説明していきますが、NginxはWebサーバのひとつであり、フリーかつオープンソースです。

Nginxの特徴には以下のようなものがあります。

  1. メモリ使用量が少ない
  2. リクエストの処理性能
  3. リバースプロキシとして利用可能

 

1.メモリ使用量が少ない

NginxはApacheなどと違い単一のプロセスでリクエストを処理します。

そのためリクエストが複数来たからといって、プロセスが複数立ち上がり、

メモリ使用量が増加する、といったことが起きません。

 

2.リクエスト処理性能

調べたところNginxはイベント駆動型で非同期のI/O処理をしているから

同時に大量のリクエストを処理できる、らしい。

 

イベント駆動型はクライアントからのリクエストをイベントトリガーとし、プロセスが立ち上がりリクエストを処理する。

また同期式のI/O処理ではひとつのリクエスト処理が終了しないと、次のリクエスト処理が始まらない。

しかし非同期式のI/O処理では前のリクエストの処理の終了を待たずに、次のリクエスト処理に移っていける。

そのため大量のリクエストをメモリを消費せずに処理できる。(間違っていたらすみません)

 

3.リバースプロキシとして利用可能

Nginxはリバースプロキシとして利用することが出来ます。

そうすることでバックエンドの複数アプリケーションサーバにリクエストの処理を分散させるといった、ロードバランサーの役割を持たせることが可能です。

 

まとめ

Nginxの特徴は

  1. メモリ使用量が少ない
  2. リクエストの処理性能
  3. リバースプロキシとして利用可能

リクエストの処理性能のところはもう少し詳しく勉強したい。