日々のぼやき | 2016年 8月25日(木)16時24分 |
主にパフォーマンスアップ。 いや、最近なんか随分と動作がノロいなぁ。ということで、先日.htaccessファイルを更新して、POST(投稿)処理時にのみ規制が掛かるように設定したんだけど。それでも時々突っ掛かる。 Firefoxのパフォーマンス測定モードで確認したところ、カウンターとか右側の天気・気象ガジェットあたりで読み込みが詰まっている、一番詰まってるのがカウンターだと分かった。
こういう日記帳のような、ある種動的なページの宿命。 久々にプログラマーの血が騒ぐというものです。
カウンター改修
そんなわけで、まずはカウンターをなんとかしよう。 ロリポップさん純正のカウンターを使っていたのだが、名前解決が躓くことが多いようで、下手すると5秒以上DNSからの応答待ちで描画が停止することがある。まずはカウンターを撤去。ネットのCGIの大御所、KENT-WEBさんからテキストカウンターを持ってくる。で、この雑記帳以下のディレクトリに設置。これならば名前解決しなくて済む。 動作しない。HTTPレスポンスは500だ。インターナルサーバーエラー。スクリプトが正常動作しないのだ。 .htaccessの問題かと思って一時的に取り外してみるが失敗。 パーミッション(アクセス権)の問題かと思うが違う。 ファイルの内容が間違っているのかと思って書き直してみても駄目。 ・・・あ。もしかして文字コードか。Windowsでは伝統的に改行コードをCR+LFで行っているが、Linux系のほうでは改行コードはLFだ。CRコードは誤動作を招く恐れがある。
よしきた。次は設置・・・がうまくいかない。 カウンターはテキスト表示だが、正常にカウントしなかったり表示しなかったり。 あれこれと触っているうちに、処理系統の問題にブチ当たる。 img srcでcgiファイルを呼び出すことで日付処理を行ったり、カウンターの変数がクリアされたりインクリメントされるようだが、JavaScript側で似たような動作をやっていたりしてややこしい。 img srcでcgiを呼び出すと、画像が表示されてしまう。カウンターはテキストが良いので、これは面倒・・・でもなかった。widthとheightを指定して、サイズを0pxにすれば「空打ち」だけど画像を表示せずにcgiをコールできる。やったぜ。 ←のカウンターのところに画像が出ていなければ問題なし。
で、Google先生に「ちょっとウェブサイトの評価お願いします」やってみた。
ボッコボコにされた。 スクリプトの読み込みに時間掛けすぎだよ!→asyncで非同期読込させる キャッシュを有効に使っていないよ!→それなりにキャッシュ有効になるように設定しなおした。 サーバー遅くない?→1.3秒なら悪くないと思うんだけど。(無理) 通信圧縮しなさい!→有効化。但しガジェットは無理。 CSS圧縮しなさい!→既に有効。ガジェットは無理だって。 JavaScript圧縮しなさい!→有効。だからガジェ(略 画像の圧縮をすると高速化するよ→バナーは無理。 文字が小さい!→コメントとかの文字を少し大きくした。
総じてGoogle先生は手厳しい。高い評価を得るためには、かなりのコードの改変が必要になる。しかも、こういう動的ページになると、戻るテキストと最新記事のテキストの距離が近すぎる、とか、サイドバーのリンクの文字が小さすぎるとか(これはモバイルページで表示した場合の話)。
でまぁ、仕方ないので出来る範囲で多少改善してみたつもり。近眼乱視の自分がモニターから50cm以上離れて閲覧して、不便しないならまぁまず大丈夫だろう。
・・・あ、遊んでいたわけではないよ。今日の分の仕事は午前中に終わらせた。イベントに向けて着々と準備中。午後まで仕事は無理。作業場にはクーラーも扇風機も無いので、午後まで粘ると熱中症で溶けます。 |