質問箱/5052

カテゴリその他
サマリ節電対策で、gzip圧縮してみませんか?
バージョン
投稿者ななみ
状態質問
投稿日2011-04-13 (水) 09:22:47

質問

相当古いCPUでない限り、動的コンテンツのgzip圧縮を多数のサイトで取り入れることで、途中経路(ルーター)のごくわずかな 電力を節約できるかと思います。

基本コードは

<?php
ob_start('ob_gzhandler');
?>
<html>
...
</html>
<?php
ob_end_flush();
?>

ですが、pukiwiki.ini.php に設定できるように できるといいかもしれないと思います。

副産物として、wiki自体が軽く見えるというのがあると思います。

CSS,JavaScriptの圧縮等は、.htaccess の設定が場合によって困難だったりすることがあるのであきらめたほうがいいかもしれませんが・・・

回答

  • 関連: dev:BugTrack/763(負荷対策のまとめ)、dev:BugTrack/738(zlib.output_compression を用いた転送量の削減を可能に) -- 2011-04-13 (水) 21:12:54
  • skin/pukiwiki.css.phpのようにPHP経由でファイルを出力しているものは、php.iniの設定なりコードをねじ込むなりすることで、一応できるような気が
    設定の参考資料 http://jp2.php.net/manual/ja/outcontrol.configuration.php#ini.output-handler http://jp2.php.net/manual/ja/zlib.configuration.php -- 2011-04-13 (水) 22:49:10
  • こんにちは。「リクエストの度にgzip(deflate)圧縮する様に単純実装する」というのは、電力を浪費するための簡単な方法ではないでしょうか。他の工夫をどのように組み合わせる事を想定されているのでしょうか。 -- henoheno 2011-04-14 (木) 00:02:42
    • 私の想定するネットワーク機器というのは、消費電力で言うと小型のもの一台がPCサーバーの10分の1ぐらい、40ポートくらいあるものが数分の1くらいです。サーバー側のエリアに配置されているネットワーク機器一台が、PCサーバー数台〜数十台をまかなっているとして、そこ以降は、その差がさらに広がっている*1のでとりあえず無視できますよね。*2 -- henoheno 2011-04-14 (木) 00:02:55
    • zzz -- henoheno 2011-04-14 (木) 00:03:02
  • 他にいろいろあって申し訳ありません。一般的な「中継ルーター」は全体的にそこそこ電力を使うため、小さな転送量であれば、さほどでもないものの、5kを超えるリクエストになるとそこそこのものになります。特に1日のヒット数が10万を超えているサイトで、その一部のページのHTMLが600kを超えるだけで、実際に gzip -1 をしただけでも約1/8~1/9 になります。このぐらいの圧縮率になれば、1アクションあたりの消費電力がルーター機器にもよるのですが5~10%の電力が節約できるので、それぞれの経路でその節約を続けていけば、多少は大きなものになるかと思います。関係ありませんが、イントラネット上で圧縮しても、クライアントPCがそこそこ高速なものであれば、いくらギガビットで構築してあっても軽量に感じます。 -- ななみ 2011-05-04 (水) 06:55:31
  • ↑上記圧縮して1/8~1/9になる例:チョコットランド 攻略情報Wiki モンスター 全モンスターを includeごとに表示しているためかなり容量を食っています。 -- ななみ 2011-05-04 (水) 07:07:26
  • その他、現状のPukiWikiでは実装不可能と思われますが、PyukiWikiにおいては、現在 JavaScript 及び CSS を yuicompressorで事前に圧縮してあります。また、リリースファイルも、tgz及び、zip を作成するも p7zip で圧縮しています。(10%程より圧縮かかります) -- ななみ 2011-05-04 (水) 07:15:49


*1 ごく少数のネットワーク機器や光ケーブルが、膨大な数のPCを支えている
*2 実際の所はクランプメーターで消費電力を実測した上で試算して下さい

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-05-04 (水) 07:15:49
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u2. HTML convert time: 0.494 sec.

OSDN