2012年10月31日水曜日

64ビット版Windows7でODBC設定してもデータベースにつながらない?

64ビット版のWindows7でODBCを設定しても、データベースに接続できず困っていたところ、32ビット版プログラム用の設定は別の方法で行うことが分かりました。



64ビット版Windows7で「管理ツール」→「データ ソース (ODBC)」での設定は64ビット版のプログラム用になります。
32ビット版のプログラム用は
C:\Windows\SysWOW64\odbcad32.exe
で設定できます。

64ビット版用と32ビット版用の画面はまったく同じですが、設定は別々になります。
これはハマります。

mod_pagespeedの設定効果が分かる統計とメッセージ表示

ウェブページの表示を高速化するmod_pagespeed。
ログメッセージや統計情報を見て動作状況を確認することができます。
まだ、mod_pagespeedをインストールしていない方はこちらをご覧ください。

見ることができる情報は大きく分けて2種類あります。
・統計(mod_pagespeed_statistics)
・メッセージ(mod_pagespeed_message)
以下に順に見ていきます。

mod_pagespeedの統計情報を見る
はじめに、インストールしたマシンの以下のページをウェブブラウザで表示してみてください。
http://●●●/mod_pagespeed_statistics ←●●●はホスト名です。

エラーになって表示されない時は、
/etc/httpd/conf.d/pagespeed.conf
の中の
<Location /mod_pagespeed_statistics>
    Order allow,deny
    # You may insert other "Allow from" lines to add hosts you want to
    # allow to look at generated statistics.  Another possibility is
    # to comment out the "Order" and "Allow" options from the config
    # file, to allow any client that can reach your server to examine
    # statistics.  This might be appropriate in an experimental setup or
    # if the Apache server is protected by a reverse proxy that will
    # filter URLs in some fashion.
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_statistics
</Location>
となっている箇所で、以下のような行を追加してクライアントマシンからのアクセスを許可してください。
Allow from 192.168.0.1 ←クライアントマシンのIPアドレス等の行を追加する。
これで先程の統計ページが表示できるようになると思います。

このような統計情報が表示されます。

高速化の効果を数値で確認できます。
下の方のHistogramでは、「>Raw Histogram Data...」と書かれた部分をクリックすると棒グラフが表示されます(データがないときは表示されません)。


ビーコンを追加する
先ほどの統計情報の中で以下の2つはデータが0になっていると思います。
total_page_load_ms ページの総表示時間
page_load_count ページの表示回数
これらは、ウェブページの実際の表示速度を計測するためのものです。
このデータを採取するには、計測したいページのHTMLにJAVAスクリプトコードを埋め込む必要があります。
埋め込むのは、<head>~</head>と<body>~</body>の二箇所です。
<head>
    <!-- 次の行はなるべく上の方に書いてください -->
    <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>
</head>
<body>
    <script type='text/javascript'>
        function g()
        {
            new Image().src = '/mod_pagespeed_beacon?ets=load:' + (Number(new Date()) - window.mod_pagespeed_start);
        };
        var f = window.addEventListener;
        if(f)
            f('load', g, false);
        else
        {
            f = window.attachEvent;
            if(f)
                f('onload', g);
        }
    </script>
</body>
ドキュメントがロードされ始めてから、ロードが完了までの時間を計測して、サーバーに通知しています。
headタグ内の一行は、ページロード時の初期に実行させるため、なるべく上の方に記述してください。
上記コードを埋め込んだページをウェブブラウザで表示してから、統計ページを表示すると「total_page_load_ms」と「page_load_count」の数値が増えているのが確認できます。
「total_page_load_ms」を「page_load_count」で割り算することで、ページの平均表示時間が分かります。

mod_pagespeedのメッセージを見る
以下のページを表示するとmod_pagespeed_messageから出力されるメッセージを見ることができます。
http://●●●/mod_pagespeed_message ←●●●はホスト名です。

見られないときはクライアントマシンの接続が許可されていません。
/etc/httpd/conf.d/pagespeed.conf
の中の
<Location /mod_pagespeed_message>
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_message
</Location>
に、
Allow from 192.168.0.1 ←クライアントマシンのIPアドレス等の行を追加する。
を追加して、接続を許可してください。

mod_pagespeedのリファラー統計
もうひとつ、以前はリファラーの統計情報(mod_pagespeed_referer_statistics)というのがあったようです。
Google ChromeにInstant pagesという、閲覧される可能性が高いページを先読みする機能の動作情報を収集するものだったようですが、現在のバージョンのChromeでは廃止されているようです。もうあまり意味がありません。


以上、mod_pagespeedの情報を見る方法についてご紹介しました。
表示される情報のほとんどは、素のままのデータなので、そのままでは分かりにくいものもありますが、mod_pagespeedが効果的に機能しているかを知る手がかりになるのではないかと思います。
その他の情報については以下をご参照ください。
mod_pagespeedのインストール
・フィルターをカスタマイズする(作成中)

CSSスプライトでウェブページを高速化する方法