あるSEとゲーマーの四方山話 [RSS]

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. このエントリはコメント不可
  2. | このエントリはトラックバック不可
  3. --/--/--
  4. このエントリーを含むはてなブックマーク

ブラウザの最大リクエスト数増やすってまずいの?

<てるやん>
  釣り記事のつもりはなく、ほんとに素朴な疑問。
  サーバーの知識ないからよくわからない。
  Google先生に聞いたけどやっぱりよくわからない。
  誰か教えてエロイ人w



狐の王国 最大接続数を増やして速くなったと喜ぶ人々、再び


またこういうバカなことをする輩 が現れた。


バカな人wはこちら↓


【悪い記事でした。注意!】 これは必見!FirefoxとIEを高速化するための動画チュートリアル | P O P * P O P


以下、良い記事かと思ってご紹介しましたが、
サーバー管理者に負荷をかけてしまう良くない方法だということがわかりました。
ここに修正して謝罪いたします。


  んで、僕がわからないといってるのは
  「ネットで法定速度守る必要あるの?」
  「サーバー処理だって集中各個撃破のほうが速くならない?」
  ってところ。

  僕の考えはこうなんだけど

横断歩道のわたり方 - あるSEとゲーマーの四方山話

なにがいいたいのかというと、
別に車がこないとき、
交通量の少ない田舎ではきちんと守らないでもいいだろうということ。
馬鹿正直に信号を守ったところで、自分の時間を無駄に消費するだけだ。
見通しのいいところで車がどこにも見えないのなら轢かれる心配はない。

これはルールの整備が遅れているだけ。
本来は交通状況と歩行者の都合を信号が独自に判断しないといけない。
今の技術ではそれが無理だから、人間自身の手で最適化するのが望ましい。
そういう場所で、昔のファミコンより頭わるそうな信号機の指示どおりに動くことない。


  みんなが問題にしてるのは田舎みたいにコンテンツのないサーバーでなく
  コンテンツもサービスも充実してる人気サーバーのことだと思う。

  でもそういうサーバーはシステム増設しない限りいつだって重い。
  一番問題の時間は21時~1時じゃないかと思う。

  で、この21時~1時の時間帯に合わせて
  「みんな仲良くいつでも法定速度を守って平等に渡りましょうね♪」
  というブラウザ設定はどうなのか?と

  1日に100も200もサイトを回ってる人がいたとして
  これをみんな40kmの速度で回るより
  80kmの速度で回ったほうが早いでしょ。
  (例えわずか1秒でも全ユーザー積み重なればえらいこと)

  ボトルネックが21時~1時の人気サーバーだとしたら
  田舎サーバーや2時~21時までの最大負荷になってない人気サーバーも
  80kmで回ってくれたほうがいいんじゃないの?

  みんなが40kmで走ってると結局回りきれずに
  19時からネットしてる人も21時台に突入してますます混雑しないかな?

  あと最大負荷にならない一歩手前までは
  むしろサーバーリソースを最大限に使うべきじゃない?
  ユーザーは速く回りたいし、Webサービス側としても
  広告を待たせずにたくさん表示したいでしょ?



  斎藤教に入信しました - あるSEとゲーマーの四方山話

  ここで紹介した「全国グループ1位の結果を出した人」なんだけど
  (なんのグループかは身元ばれるので言わないw)

  他の人が技術的にもお客へのサービス的にも
  「全部にリソースを均等配分して、全部を厳しくチェックする」
  というのが通常のやり方だったんだけど

  1位の人は技術的にもお客へのサービスにもリソースを集中させて
  「各個撃破」
  自然とランチェスターの法則をやってた。

  逆に集中させてないところは別にいいんだって。
  お客で言うと
  「分散させず、ひとつに集中して全員で処理するほうが総合的に早い」
  技術で言うと
  「今はこれだけ!」
  「これだけに集中して体で覚えたら、後は考えなくても自然にできるようになる」
  「そしたら次の技術を集中して覚える」
  「全部いっぺんに覚えたり指導しようとするから、みんな伸び悩む」

  ということでした。


  この超シングルタスク環境とも似てるかも。

小野和俊のブログ:そして、ペア・プログラミングが始まる

ペア・プログラミングにはメガトン級の破壊力がある

プログラマーは絶えず誘惑にさらされている。
調べ物でウェブを見たついでに何時間もネットサーフィンしてしまったり、
考えたことをメモするついでに2時間かけてブログを書いてしまったり、
仕事の用事で知人に IM したついでにしばらくだべってしまったり、
Twitter に書き込んだついでに Friends のアーカイブを読みふけってしまったり、
PC は仕事道具であると同時に遊び道具でもあるので、
納期直前かゾーン状態でもない限り、
これらの誘惑はしばしばプログラマーの集中力を奪い去る。

ペア・プログラミング中にはずっと見られているから、
手の抜きようもなければ、気の抜きようもない。
そういう状態が長く続くと、
今まで刺激されたことのないツボをずっと刺激されているような、
独特の快感の中で開発作業を進めていくことができるようになってくる。
そして気付くと、今までよりずっと短い時間で、開発がグングンと進んでいる。



  で、ブラウザの件なんだけど
  「サーバーの負荷高めても、
   それだけ速く処理できるならその分渋滞なりにくくなるんじゃない?」
  「このルール、アナログモデム回線のときの古いルールなんじゃない?」
  とか思ったりするわけで、、、

  もし昔の54kbpsモデムとかだったら
  「原付が高速道路にのってくるんじゃねーよ!!」って感じでしょうが
  光とかADSLが主流の場合もしかして
  「ここはどんなにスピード出しても死人がでる事故は起こらないのに
   80kmで走ってるんじゃねーよ!!
   渋滞で迷惑じゃ!!」
  とかにはならんのかな??


  今サーバー管理者が悲鳴を上げてるというのは
  「うちのサーバー予算に対してこんなにリクエストするなよ!」
  というのを、”おまえらみんな40kmで走れ!”という言い訳に
  もしかして転化してるとかで、
  それは結局Web2.0という奴があまり儲からないから
  サーバー予算もでないということになり、
  クライアント側の速度を遅くすることが根本的な解決ではない気がする。

  あと、リクエスト多すぎてサーバーが落ちる
  ということもあるかもしれないけど
  それは技術的に
  「サーバー最大負荷のところまでで、接続を遮断する」とかやってるよね?
  そしたらサーバーは最大活用したままでいられるし
  2chとか「もうずっと人多杉」とかでるし
  FC2でも「申し訳ございません、後できて」みたいなメッセージ出るから
  すでにこなれた技術でサーバーが落ちるとかはもうないと思う。

  これを
  「超重たいままでいいから、みんなおててつないで平等に使おう」
  というのは違うだろう。
  それなら似たような別のサービス使うなり
  優先的な回線を廻す有料サービスの設置なり加入なりをしたほうが
  みんな幸せになると思う。

  一応他で見かけた記事を並べとく。
  (でも俺が使ってるFireFoxのリクエストは
   どれだけ数字増やしても8が限界らしいねw)


どさにっき

_ RFC 2616 の 8.1.4 Practical Considerations より。

Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.

SHOULD だよ。MUST じゃない。
これを「明確に定められている」というのはどうなのかなぁ。
SHOULD ってのは制限を逸脱したときに発生しうる問題をちゃーんと理解した上で、
そうするだけの妥当な理由があるのならば無視してもかまわない、
ってことであって、けっして強制はしていないし、
破ってもただちに違反とはいえない。
RFC 1945 (HTTP/1.0) ではまったく触れられてもいないし。

_ もはや議論術の範囲になっちゃうかと思うんだけど、
RFC で SHOULD となってる制限を無視しているものを糾弾するのに、
RFC 違反だ!
と主張して論破するの本来はムリがある。
だって RFC では禁止してないんだもん。
この論法が有効なのは RFC の読み方を知らんやつを騙すときぐらい。
RFC ってのはインターネットのエラい規格なんだ

中略)

_ 勘違いされないよう念のため書いておくと、
そんなアホなことを宣伝するのはやめれ、という主張自体は支持する。
その主張の論理組み立て(というかそもそもの前提)がおかしいということ。
サーバ側で受け入れられる同時接続数には限りがあるから、
ひとつのクライアントでたくさん占有しちゃうとほかの人がつながりにくくなるよね、
そういう可能性を無視して自分の接続性を優先するってのは理由として妥当なの?
正当な理由があるんじゃなくてただのエゴなんでしょ、
RFC にもやるべきじゃない、って書いてあるよ、だからやめれ。
こういうふうに議論をもっていかないとダメ。


  再度言うけど疑問なのは
  「最初のお客さんさっさと処理しちゃったほうが総合的に早くね?」ってとこ。


百式の中の人、RFC違反はもちろんWebサーバ運営者の迷惑をまるで考えない設定を推奨するの巻

筆者はRFC原理主義を気取る気は無い。
実際のところ、RFC2616が発行されたのは1999年であり、
そのころに比べれば現在の各種ネットワーク、
サーバー機器のハード/ソフトの性能は格段に向上している。
ならば、2とか4といった同時接続数の規定推奨値は
もう少し大きくてもいいのかもしれない。

だがしかし、Webサイトの数もネットワーク利用者数も同様に
爆発的に増えていることも忘れてはならない。
そういったことを加味すると、
ブラウザの同時接続数を素人判断で増やすことも
それを推奨することも危険すぎる。

  RFC2616は1999年にできたルールで、指摘された記事は2006年12月の記事。


IEでファイルの同時ダウンロード数を増やす:デジタルARENA

 これらの制限は、インターネット接続環境が低速であった時代のもので、
ADSLやFTTHが一般的になった現
在、同時にダウンロード可能なファイル数は増やしてもクライアント側は問題ない。
そこで、次のようにしてレジストリを変更することで、この値を増やしてみよう。

  2004年の記事でも紹介されてるね。
  いや、問題なのはクライアント側じゃなくてサーバー側なんだけどw


狐の王国 ごめん、それはちょっと書き方悪かった

ってのはね、もうひとつの側面があるんです。
ちょっと慌てて書いてしまったのでそのへん誤解を招いたのは申し訳無い。

んっと、確かにたくさんのリクエストを投げて
ポートを長時間占有されるのは迷惑なんだけど、
これってどっちみっち1つの接続の中の話なわけ。

つまりどういうことかというと、
maxrequestsってのは
「1つのページを開いたときに同時にリクエストするCSSやらJSやら画像やらの総数」
なわけです。

ようするに1つのページに10個も20個も画像やらCSSやら置いとく
ページ構成がそもそも悪いといえば悪いわけです。


特に迷惑を被ってる人々:

まあ素直に言うと今はmod_limitipconnあるし、
クライアント側でどうこうされようとも
サーバ側で対処してるからどうでもいいっちゃいいわけですよ。

でもちょっと考えたらわかることだけど、
mod_limitipconnで制限されると困る人ってのはいるわけ。

IRCでも指摘されたんだけど、
大学や会社で何十人もの人が1つのIPアドレスをNAPTで共有してる
っていうシーンは珍しくないわけ。
困るのはこの人ら。

だってそうでしょう、
IPアドレスあたりの接続数をサーバで制限されてたら、
同時に同じサーバを見に行く人が隣に何人かいるだけで繋がらなくなっちゃう。
具体的にはなかなかページが開かなかったり、503エラーがでたりする。

サーバ側としては対策せざるを得ない以上、
迷惑を被るのはこういう人たちなんだよね。


  現状はここらへんでケリがついてるみたい。
  今のサーバーの状況ではブラウザをどうこうしようと
  無茶なスピードはだせないわけね。

  結局この問題で迷惑を被るのは大学や会社のNAPT。
  大人数で速い回線使いたいなら、IPアドレスの回線増やさなきゃいけなくなる。。。

  、、、、あれ?
  そっちのほうが平等じゃないの?
  だってNAPTって一人一人に回線引くよりコスト安いから使ってるわけでしょ?w
  


  サーバーのこと知らない素人からすると
  これまでの説明ではいまいち納得できないのだけど
  ただわりと僕はネットにある多数派の意見というのを過信してて
  (正しい情報は引用されまくってすぐ広がるから)
  この仮説通りじゃない、もっともな説明があって
  みんなそれを支持してると思うのだけど、、


  ということで
  「最大リクエスト数を増やすとなぜみんなの迷惑になるのか?」
  の問題で

  「みんなが平等に使えないから」
  (でもみんなで遅く走ったら結局みんな損するじゃない)

  「サーバーが落ちるから」
  (今の技術なら最大負荷のまま落とさないようにできるでしょ?)

  ではいまいち納得できないんで、
  わかりやすい理由(専門用語だと理解できないかもw)を
  コメントでもトラバでも待ってみる。
  1. コメントを書く(2)
  2. トラックバック(0)
  3. 2007/07/30
  4. このエントリーを含むはてなブックマーク

<<トマトビールうめえww | ブログトップに戻る| カラーコードを使ってみた>>

コメント

<Koshian> 

えっとですね。
最大リクエスト数増やさなくてもいいように持続的接続ってのがあるんすよ。
だからそっち使おうねってお話。
  1. #KWFrCdJ2
  2. [編集] |
  3. 2007/09/22

<てるやん> 

おお!
コメントサンクスです。

持続的接続ってやつのほうが、総合的に見てサーバーにもユーザーにも都合がいいのですね♪
  1. #XCrtMn7Q
  2. [編集] |
  3. 2007/09/22
なまえ:


コメント:

※スパム対策用に英数字のみのコメントをブロックしてます。

: 後で編集・削除用パスワード(設定しなくてもOK)



トラックバックURL: http://finalf12.blog82.fc2.com/tb.php/672-001404d5


※スパム対策用に、言及リンクのないトラックバック、英数字のみのトラックバックを制限しています。

この記事にトラックバックする(FC2ブログユーザー)

プロフィール

 更新停止。

 <てるやん>(ゲーマー)
 teruyastarはかく語りき
(てるやんの移転先)


 <たっく>(SE)

過去ログ






上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。