nginxとapacheはどちらを使うべきか?5

さて、思い出した時にサクっと書いちゃいましょう
nginxはfastcgiなので、ローカルにapサーバーを立ち上げてsocket接続しない限りはネットワークを介する事になります
これはメリットであるか否か?でネットワークの話をする予定で放置していました。
まずhttpレイヤーで見ると、このページ見たい→どうぞして!という流れは1アクセスですね
tcpレイヤーで見ると、これは1通信ではなくパケット分割されているという事をまずは理解して下さい。
そして、パケットは道路=LANケーブルを通っていく訳ですが、途中でスイッチを経由します。
よく探偵漫画に出てくる線路の切り替えを想像して貰えば良いのですが、スイッチというハードウェアはポートA,B,C,Dがあったとしたら、
AとB、CとDは同時に接続可能です。
AとB、CとB、DとBという接続は同時に接続できません。
線路の切り替えを同時に線を結ぶなんて出来ないので当たり前ですよね?
つまり目的のサーバーが同じ=Bに向けて同時に接続できないという前提条件がある訳です。
よく同時接続がどうたら言いますが、こういう仕組みを知っていれば本当の同時接続なんてのは物理的に無いっつーのは常識ですね。
同時に処理するけど時間差がある同時接続というのが正しい?表現でしょうか?w
パケットの渋滞が出来る可能性もある訳ですから、単純にサーバーを分ければ負荷分散出来るっつー話ではないという事です。
APサーバーなんて物が本当に必要か?を十分考慮した上で検討したい物ですので、nginxが有利とは言えない点です。
個人的には、そもそもロードバランサーで負荷分散してるのにweb=apサーバーで何が困るのか?
足りないならweb=apを足せよ!としか思わないんですが、まぁ正解なんてないですからねw
web != apだと管理が煩雑になるのとネットワークを介するのがデメリットで、それに見合うメリットが特に無さそうって事ですね。
nginxを使うにしてもローカルにfcgiを立てれば良いんですが、管理が煩雑な点は解消出来ませんからねぇ。

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.