12,964
回編集
(→Nginx) |
編集の要約なし |
||
6行目: | 6行目: | ||
* 欠点 | * 欠点 | ||
*: 同時接続が増えるとメモリが不足しやすい。 | *: 同時接続が増えるとメモリが不足しやすい。 | ||
*: リクエストが大量に来た場合、プロセスが同時に起動するのでオーバーヘッドが非常に大きくなる。 | |||
*: ただし、モジュールを使用すれば、イベント駆動モデルにもできる。(Nginxには及ばない) | *: ただし、モジュールを使用すれば、イベント駆動モデルにもできる。(Nginxには及ばない) | ||
* その他 | * その他 | ||
17行目: | 18行目: | ||
* 利点 | * 利点 | ||
*: 接続数が増えても、プロセス数やスレッド数が増えないので、メモリの消費が少ない。 | *: 接続数が増えても、プロセス数やスレッド数が増えないので、メモリの消費が少ない。 | ||
*: 少量のプロセスだけで大量のリクエストを処理することが可能。 | |||
*: C10K問題(ハードウェアの性能には問題ないが、クライアントの数が多くなるとサーバがパンクする問題が解決される。 | |||
*: (プロセス番号が不足する問題で、UNIX系OSだと最大32767) | |||
*: 設定ファイル(nginx.conf)がApacheよりも直感的で柔軟に設定を行うことが可能。 | |||
* 欠点 | * 欠点 | ||
*: 1つのメモリ空間で動作するため、スクリプト言語を組み込めないことがある。 | *: 1つのメモリ空間で動作するため、スクリプト言語を組み込めないことがある。 | ||
*: ただし、プロキシサーバとして利用すれば、スクリプト言語を呼び出せる。 | *: ただし、プロキシサーバとして利用すれば、スクリプト言語を呼び出せる。 | ||
*: CPUリソースが多く必要な処理には向いていない。時間が掛かる処理を実行した場合、プロセスがブロックされて処理能力が落ちる。 | |||
* その他 | * その他 | ||
*: WebApplicationと連携するときには、プロキシサーバとして動作させる。 | *: WebApplicationと連携するときには、プロキシサーバとして動作させる。 | ||
35行目: | 41行目: | ||
また、標準機能が豊富なので、その機能を早く利用したい場合は選択する。<br> | また、標準機能が豊富なので、その機能を早く利用したい場合は選択する。<br> | ||
その場合でも、同時アクセスが多い場合は、Nginxをリバースプロキシにして、Apacheに流す形になる。<br> | その場合でも、同時アクセスが多い場合は、Nginxをリバースプロキシにして、Apacheに流す形になる。<br> | ||
<br><br> | |||
== 比較 == | |||
* 負荷が高くなく、早期セットアップが必要な場合 | |||
*: Apache | |||
* 負荷が高く、スケーラビリティが要求される場合 | |||
*: Nginx | |||
* ある程度の同時アクセスが見込めない場合 | |||
*: Apache | |||
* 同時アクセス数は小さく、単純にリクエスト数が多い場合 | |||
*: Apache | |||
* 静的ページに同時多数のアクセスが想定される場合 | |||
*: Nginx | |||
* 動的ページは処理内容やサーバスペックによるため現状では判断できない(要調査) | |||
<br><br> | <br><br> | ||