ブログのチューニング

つい先日、このブログ『ひまつぶし雑記帖』をリニューアルしたものの、表示のもっさり感は解消されず。そこは、レスポンシブ対応が最優先だったんであまり考えてなかった。
んで、ひと段落して改めてみると、もっさりしてるのがやっぱり気にいらない、よなあ。
てことで、表示速度のチューニングをしてみた、というのが今回のエントリ。
2013年のエントリにも書いたとおり、WEBは早さが唯一の絶対正義
ここんとこ雑記帖が重い=表示が遅いのでイラっとしていた。ここで何度も言うけど「WEBは早さが唯一の絶対正義」そんな状態なのに、各記事にカテゴリをつけるため、データベースにカテゴリ用テーブル、カテゴリと記事のリレーション用テーブルを追加。そりゃまた当然遅くなる。
最近? SSG(Static Site Generation)、静的ページを生成して公開するサイトが増えてきている(ように見える)のも、セキュリティ的に安全性が高いのもそうだけど、それ以上に表示速度の「ちょっ早」なのが魅力だからだろうなあ。
表示速度改善のために。
まずは直近のエントリを5つ表示するトップページ。
- 表示させる5つのエントリを取得するSQL(1)
- 1つのエントリごとに関連エントリを取得するSQL(5)
- 年/月ごとのエントリへのリンクのためのSQL(1)
- サイドの「最近のNN件」取得のためのSQL(1)
- サイドのカテゴリを取得するためのSQL(1)
と、計9回SQLが走る。
そりゃそうだ、という話なので、トップページはエントリ登録時に静的ページを生成することにした。
トップページにアクセスされたら、静的ページを読みこんで返す。SQLも走らないんで少しは早くなる、はず。
動的に表示させる時にも、表示/閲覧のためだけに「最近のNN件」などの部分でSQLを走らせるのは無駄。このあたりの部品もエントリ投入時に個別で静的ページを生成するようにした。
これで動的ページも少しは早くなる、はず。
実際に確認したところ、体感できる程度には早くなった、ような気がする。
…けど、時間帯で表示されるまでの時間が違う、ような気がする。ひょっとするとレンサバのスペックが関係して、混み合う時間帯なんかはこちらでどうこうしてもしかたない、のかもしれない。
とはいえ、やれることはやってみるかな。
動的ページ、エントリひとつのページなんかで、SQLが走るところがある。少しずつ部品ごとで検討しよう。
ちなみに。
今日時点で、SSGとして人気なのは以下の3つらしい。
・Hugo
・Astro
・11ty
https://github.com/11ty/eleventy
(※ 雑にぐぐってみただけ)
今からブログを作ってみよう、と思われるのだったら、静的ページで運用展開することをオススメします。ウチのブログと違って、ポチっとアクセスして、即表示されるページ・サイトはやっぱり気持ちいいですよ!

同じレンサバで公開してるホームページ 『On Golden Pond』は全部静的ページで表示はめっちゃ早い。てことを考えると部分的に静的ページにしたところで、時間帯によってperlのパフォーマンスが低下したりするのかなぁ。
画像サイズを旧ブログよりもちょっと大きくても大丈夫にしたから、それも影響がある、かもしれない、かなぁ。
[02/25 11:01:17] この写真サイズにして改めて見ると水面の質感とかこってり出てるなあ。おもちゃみたいな単三電池で動くコンデジ(KODAK PIXPRO FZ45)が去年のベストバイだ。

