投稿日:2004年03月27日 作成鷹の巣

No.15355 インターネット側からのHPの画像閲覧スピード停滞について



インターネット側からのHPの画像閲覧スピード停滞について

No.15355 投稿時間:2004年03月27日(Sat) 11:50 投稿者名:ゾウ URL:

おはようございます。
半年ほど前にサーバー立ち上げの不具合でお世話になりましたゾウと申します。宜しくお願い致します。

現在ソニーのPC(バイオHXのデスクトップ 2.8GHz)でWebサーバーを立ち上げて楽しませて頂いています。
サーバーソフトはAN HTTP Daemon Ver 3.9です。ネットワークはフレッツADSL(1.5M)からルーターを通して本機一台のみです。

最近、私のHPにアップしている画像のおおむね10枚を閲覧している知人二人が、「4枚目位から最後の10枚目までの画像表示時間が急に遅くなる」という話を聞き、毎回ほとんど同じ感じらしいのです。1枚100KB~300KBのJPGファイルなのですが、それ以外の他の閲覧者からはあまり聞かなかった話しながら気になっており、全て50KB程度に抑えた画像に替えた上で閲覧してもらいましたがやはり二人とも同じように4枚目から急に遅くなるらしいです。閲覧者二名はPCスペックも住まいも違います。

私自身はサーバーの画像閲覧はftpサーバー等からのダウンロードとは違うと理解しているので、あくまで閲覧者側のPC性能によると思っていました。サーバーとして使っているPCも最近のスペックで、結線もルーターとサーバーのみの単純な構成です。またHPはテキストと単純な画像のみですので極端に閲覧側が負担になるようなものではないと思います。
もしかしたらサーバーソフトや私が全く気づかない何らかの原因があるのかな?と感じています。

いろいろ似たような話しをネットや他の知人・本などから探っているのですが見つからず、こちらへご相談させて頂こうと思いました。あくまで私のサーバー、知人2名のPCもけして遅くないスペック、お互いにフレッツADSLなど偏った条件ではないのは確かです。

画像を一度に10枚くらい見る場合の規則性がある画像表示停滞が、サーバーソフトまたは自宅サーバーの構成という事に原因が考えられるものなのでしょうか?

宜しくお願いします。


HTTP の「同時アクセス制限」について

No.15357 投稿時間:2004年03月27日(Sat) 16:20 投稿者名:通行人 URL:

> 最近、私のHPにアップしている画像のおおむね10枚を閲覧している知人二人が、「4枚目位から最後の10枚目までの画像表示時間が急に遅くなる」という話を聞き、毎回ほとんど同じ感じらしいのです。1枚100KB~300KBのJPGファイルなのですが、それ以外の他の閲覧者からはあまり聞かなかった話しながら気になっており、全て50KB程度に抑えた画像に替えた上で閲覧してもらいましたがやはり二人とも同じように4枚目から急に遅くなるらしいです。閲覧者二名はPCスペックも住まいも違います。

念のため、HTTP の「同時アクセス制限」について頭に入れておくと良いかもしれません。

ブラウザで、スタイルシートや画像を使用した HTML ファイルを読み込むことを想定してみましょう。
クライアントからサーバに接続して、まず HTML ファイルを要求します。
通常、ブラウザでは HTML の読み出し中に構文解析が始まりますから、HTML を読み込み終える前に (= 接続が切れる前に)、CSS ファイル要求のため並行してサーバに接続を仕掛けます。
img タグがあれば、そこで指定された画像読み出しのための接続も並行して行われることでしょう。

つまり、クライアントから 1 つのサーバへ「同時並行アクセス」が発生します。
このアクセス数には制限があり、HTTP/1.0 では 4 つまで、HTTP/1.1 では 2 つまでとなっています (前者は紳士協定的なものですが、後者は RFC で強制されています)。
これを超える場合、現在読み出し中のどれかが終了するまで、待つことになります。

時間の掛かることが多い画像読み出しも、4 つ (あるいは 2 つ) までは同時に読み出し (と描画) が行われますが、それ以上は接続終了を待ってからと言うことになります。
1.5M ADSL だと上り回線は 50 kbyte/s 程度しかありませんから、体感的に遅く感じる可能性は大きいです。
これ以上は、サーバの応答速度等を実際に測定してからの議論になると思います。

# 最近「インターネット高速化」と称して、Windows レジストリを書き替えて上記制限数を大きくすることを提唱している阿呆が居ますが、あんなのは良識ある人間のやることではありません。


複数のブラウザ画面を開けていることは関係するのでしょうか?

No.15358 投稿時間:2004年03月27日(Sat) 17:48 投稿者名:ゾウ URL:

大変ご丁寧で、私などその時々で新しい学習を重ねるしかない人間にとって、貴重なアドバイスに感謝いたします。

この、1クライアント複数アクセス状態のこと、私の方では見逃していました。注意してみます!

ところで、私自身もサーバーで、またネット外部のクライアントとして、いつも2枚のブラウザを開けています。(IE6)
これは私だけで、先のご質問の話しに出した知人はいずれもそうしてはいないと思いますが、このような複数のブラウザ画面を開けていることは関係するのでしょうか?
複数と言っても各々の画面で自動更新にしてるとか、手動で2枚同時にアクセスさせた事は一度もありませんし、まずそのような事をする使い方はしないのですが、開けているだけもサーバーに対してなんらかのアクセスがされるものなのでしょうか?
なんだか当たり前な事を質問しているようで恐縮です。


通信は行われなくても「TCP 上では接続を張った状態のまま」になる可能性はあります。

No.15376 投稿時間:2004年03月28日(Sun) 21:44 投稿者名:通行人 URL:

> ところで、私自身もサーバーで、またネット外部のクライアントとして、いつも2枚のブラウザを開けています。(IE6)
> これは私だけで、先のご質問の話しに出した知人はいずれもそうしてはいないと思いますが、このような複数のブラウザ画面を開けていることは関係するのでしょうか?

Internet Explorer 等、Windows 上で HTTP を利用するアプリケーションの多くは、サーバとのアクセスに WinInet という OS 本体のコンポーネントを利用しています。
HTTP 同時アクセスの制御もこの WinInet により行われており、ブラウザを複数使用した場合は合計の接続数で制限がかかります。

そのため、複数のウィンドウで同一サーバ上のファイルを表示させると、画像等の表示が遅くなったり、「他のウィンドウの描画が終わるまで、何も表示されない」といった現象が発生することがあります。
表示内容がそれぞれ別サーバの場合は、影響はありません (もちろん、マシンの能力や回線の帯域幅による限界はあります)。

> 複数と言っても各々の画面で自動更新にしてるとか、手動で2枚同時にアクセスさせた事は一度もありませんし、まずそのような事をする使い方はしないのですが、開けているだけもサーバーに対してなんらかのアクセスがされるものなのでしょうか?

環境にも依りますが、ブラウザを開いている間、通信は行われなくても「TCP 上では接続を張った状態のまま」になる可能性はあります。
HTTP/1.0 は取得ファイル毎に接続~切断を繰り返すのが基本ですが、HTTP/1.1 では接続したままにしておき、続けて別のファイルの読み出しができる仕様になっています (切断~再接続に掛かる時間や負荷を減らすことができる)。

しかし、無通信の状態が一定期間続くとサーバから切断するのが普通ですから、クライアント側は特に意識する必要はありません。


私のサーバーでどうアクセスの状態が続いている事になるのか調べてみようと思います。

No.15377 投稿時間:2004年03月28日(Sun) 22:15 投稿者名:ゾウ URL:

通行人様、お世話になります。<(_ _)>

私が2枚のブラウザ画面を開けているときは、一方は自サーバーのHP、もう一方は普段ヤフーなどのプロバイダー提供の情報HPへのアクセスで、普段からこの形で使っています。自サーバーから見てみますと、LAN内からは私一人、ネット側からは不特定多数という感じで、私自身が2系統同時に自サーバーにアクセスすることはまずありませんが、ご説明を拝見しておりますと似た支障が出やすい使い方をしている可能性も感じました。この後、もう少し自分でもHTTPバージョンの違いと具体的に私のサーバーでどうアクセスの状態が続いている事になるのか調べてみようと思います。

本当にありがとうございました。


|目次|掲示板|過去ログ目次|▲頁先頭|