商用サイトを運営しています。

業態上、画像が多くなっているのですが、なるべく表示を早くしたいと考えています。

サイトを軽くするための方法がまとまっている本(やサイト)などあれば教えてください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/29 08:20:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:Yota No.1

回答回数453ベストアンサー獲得回数28

ポイント20pt

通信量の圧縮なら、Apacheではmod_deflateというのが使われています。

http://www.atmarkit.co.jp/flinux/rensai/apache2_04/apache04a.htm...

http://httpd.apache.org/docs/2.0/ja/mod/mod_deflate.html

id:petem

ありがとうございます。

私の今のレベルですとちょっと難しいですががんばります。

2007/06/22 12:38:20
id:hblm No.2

回答回数243ベストアンサー獲得回数23

ポイント20pt

mod_gzipというモジュールもあります。

サーバ側で一旦gzip圧縮したものをクライアント側で解凍してブラウジング方式です。

http://www.planet-green.com/linux/mod_gzip.html

http://sourceforge.net/projects/mod-gzip/

id:petem

ありがとうございます。

>回線が太くアクセス量の多いサーバーでmod_gzipを使うと圧縮によりCPU負荷がかかり、かえって遅くなる可能性も考えられます。

ちょっと勉強不足で今サイト状況がどうなっているのか理解していません。

調べてみます。

2007/06/22 12:41:04
id:ARAYOTTO No.3

回答回数1376ベストアンサー獲得回数13

ポイント20pt

http://www.vector.co.jp/soft/win95/art/se279366.html

JPEGファイル圧縮プログラム carmine

JPEGファイルのファイルサイズ縮小を画像の劣化なしに行う

id:petem

ありがとうございます。

やはり画像サイズは大切ですね。

2007/06/22 13:11:43
id:manekinekoo No.4

回答回数66ベストアンサー獲得回数3

ポイント20pt

バックボーンが太いサーバを使うのが手っ取り早いのでは。

安いサーバとか夜になると繋がりにくくなる所が多いと思います。

わたしは海外の太い所を使っています。

id:falcosapiens No.5

回答回数126ベストアンサー獲得回数13

ポイント20pt

mod_deflate

mod_gzip

は画像の場合には効果が低く実用的ではありません。

~

根本的な対策は画像サイズを小さくすることです。

jpgの画像サイズを変える,

色数の少ないものについてはgifにするなどの方法があります。

様々なファイルタイプに一括変換するソフトなどがありますので

色々と試されると良いでしょう。

~

他の手法としては,

1 画像のみ別サーバに置く。

2 mod_expiresを設定する。

という方法が考えられます。

~

1について特に説明することはないでしょう。

~

2は,コンテンツの有効期限を設定して,

一定期間はローカルのキャッシュを読みに行かせるという方法です。

http://hain.jp/index.php/tech-j/2006/12/11/mod_expires

比較的簡単で効果が高いので,利用可能な環境であればお勧めです。

id:petem

基本的なことで申し訳ありません。

画像のみ別サーバーに置く、という行為についてですが、

A.別サーバの画像600pxを120pxに縮めて表示

B.自サーバに対象画像を120pxで保存し表示

のどちらが一般的に表示が速くなるのでしょうか?

2007/06/25 12:20:31
  • id:b-wind
    失礼ですが、対象が画像と言う事で mod_deflate, mod_gzip はあんまり効果がなさそうに思います。
    すでに画像自体が圧縮処理されているはずのなので、再圧縮してもほとんど変わらないことが多いです。
  • id:hblm
    > b-windさん
    たびたび見かける方ですが、ツッコミを受けたのははじめてですね。

    全然失礼なんかじゃないですから、あなたが回答してあげてください。


    > すでに画像自体が圧縮処理されているはずのなので、
    > 再圧縮してもほとんど変わらないことが多いです。

    質問者の使われている元の画像がどれほどのサイズなのか知りませんが
    圧縮率の低く、サイズが大きいjpegなら有効かと思います
    (もちろん、元の画像に適当な処理がなされていれば話は別ですが、
    それを確認するすべは私にはありません。超能力じゃないので)。

    申し訳ないのですが、私はこれ以上言及するつもりはないので、お返事不要です。
  • id:Yota
    1回答者です。
    もっと簡単に考えてみました。
    1.ブラウザによって表示速度に違いがあるか比べてみる。例えば、FireFox2とIE7で比較したらFF2の方が速いとします。このサイトはFF2に最適化されていますとトップページに書く。
    2.画像表示が遅いことをクライアントに意識させないようにする。プログレスバーや「ただいま表示中」などのメッセージやアニメーションを出したりすると、いらいらしないものです。
  • id:falcosapiens
    5の補足です。
    ~
    >A.別サーバの画像600pxを120pxに縮めて表示
    >B.自サーバに対象画像を120pxで保存し表示
    >のどちらが一般的に表示が速くなるのでしょうか?
    ~
    「縮め」るを,htmlで縦・横を指定して表示するという意味であれば,一般的には,Bの方が早いはずです。
    小さい画像の方が早いというだけの理由です。
    しかし,自サーバの負荷が極端に高かったり,帯域が限界に達している場合には,Aの方が早い場合があります。
    なお,小さくできる画像は予め小さくしておくべきです。
    ~
    画像の多いサイトの表示が遅い場合考えられるボトルネックは以下のようなものです。
    1 サーバの帯域(転送量多すぎ)
    2 サーバの負荷(1つのサーバに仕事させすぎ)
    3 ユーザ側の回線帯域
    4 ブラウザの同時接続数による制限+サーバの設定
    ~
    画像のみ別サーバに分ける方法は3以外の場合に効果があります。
  • id:petem
    falcosapiensさん

    補足ありがとうございます。
    別サーバ(というか他社管理サーバですので),Bパターンを試したいと思います。おそらくサーバ帯域や負荷は問題ない(管理者が文句言ってきたことがない)ので。

    おそらく、うちのサイトが遅い理由はボトルネックの3番なのでしょう。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません