- ベストアンサー
[perl]サーバの容量を節約するためにzip圧縮は有効ですか?
最近、use Compress::Zlib;を使うと、圧縮ができるということを知ったのですが、アップロードしてあるファイルを全て(テキスト系のファイル)を圧縮して、ページを表示する度に解凍して表示するというのはいかがでしょうか? 掲示板のテキストファイル数ギガも、数百メガになってレンタルサーバを使っている場合、とても助かるのですが・・・ ただ、普通に考えて、ページを閲覧する度に、毎回毎回、zip解凍をさせてもいいものやら・・・ また、こういったサーバの容量節約法を聞いたことが無いので本当にやっても良いのか心配です。 一応、今考えているのは、PVが1万程度のところを考えています。 ご返答、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
圧縮して表示のたびに解凍する というのはレスポンスが悪くなることは目に見えています 掲示板のテキストファイルが膨大になるとの事ですが、もしかして掲示板の書き込みデータをテキスト保存しているのでしょうか? テキストで保存させていると書き込み読み込みが頻繁になると壊れる可能性があることと、膨大になればなるほど処理に時間がかかります テキスト保存させるよりもデータベース使ったほうが何百倍も効率が良いと思います
その他の回答 (1)
- noboru2000
- ベストアンサー率33% (47/140)
Content-Encoding: gzip でブラウザに返せばいいんじゃないでしょうか(その代わり圧縮は zip ではなく gzip です)。つまり、サーバ側はファイルをgzipで一つ一つ圧縮しておいて、CGI経由でファイルを返す時に Content-Encoding: gzip のヘッダを付けて内容をそのまま送るということです。 但し未対応のブラウザからリクエストがあった場合はサーバ側で元に戻して応答を返す必要があります。(コマンドでいうと zcat または gunzip -c または gzip -cd です)。 詳しくは Google などで「http gzip圧縮転送」などのキーワードで調べると出て来ます。(その中の一つのページを参考URLに入れておきます)。
お礼
回答いただきありがとうございます!! 確かに、効率は悪るそうなのですが、実際使う場合、体感速度やサーバ負荷にかんして、気になるレベルか、気にならないレベルかが問題かと思っています。 ちなみに、ホームページの内容は、掲示板(HTML化した過去レス)やBlogデータや過去作ったホームページなど乱立しています。 データベースにはとても興味があり使ってみたいのですが、今は、新しく勉強するのがちょっと大変(ADSL不可地域。死語?テレホーダイです)なのです。 そのため、できれば、データベースを使わない方向で考えています。 ただ、それ相応のメリットがあれば、数日間マンガ喫茶にこもって勉強するのもありかと思っています。 さくらのウェブサービスのプレミアムを使っているため多分使えるとは思うのですが、データベースに関しては、動作が遅いと聞きますし・・・ ただ、データベースに入れたからといって容量が少なくなるわけでもない気もするし・・・ また、今の、CGIでもそれなりにスピードが出ていると思いますし・・・(ダイヤルアップなので分かりませんが、多分、出ているような気きがします・・・) そんなことから、いまいち、データベースに置き換えるほどのメリットを感じていません。 もっと、容量が増ええたり、アクセス数が増えてからでも良いかと思っています。 ただ、最近、ロボットのアクセス数が半端でないのでちょっと怖いのですが・・・