« SSL証明書の有効期限確認 | トップページ | MySQLコマンドの\G »

ブログの静的生成と動的生成について

ブログの静的生成と動的生成について、メリット・デメリットをちゃんと整理できていなかったのでメモ


■静的生成と動的生成の違い

静的生成はブログ記事を作成したときに、.htmlなどの実態ファイルをディスクに保存して、ユーザーが記事を見に来たときは単純にそのファイルを返すだけにする仕組み。大抵のブログサービス(ココログ、Amebaとか)やMovableTypeがこの方式になっている。


対して動的生成はブログ記事を作成したときに、記事情報はデータベースに保存されるだけとなる。htmlファイルは作られない。ユーザーが記事にアクセスするとデータベースからその記事の情報を引っ張り出し、メタ情報からテンプレートを選択してその場で一時的にテンプレートに記事情報をはめこんだものを返す。これをユーザーのアクセスがある度に繰り返す。Wordpressがこの方式になっている。



■メリット・デメリット

静的生成は記事作成と同時にhtmlファイルを準備してしまうため、ユーザーが記事を見に来た時の処理が単純になる。「webサーバがhtmlの要求をされて、返す」というwebで最も単純な処理のみになる。そのため処理速度は速いし負荷は低い。たくさんのユーザーが記事を見に来てもレスポンスが重くなりにい。

対して、動的生成では1アクセスごとに記事を生成する処理が必要になるため、静的生成と比べてレスポンスが重くなりやすい。ついでに記事を生成するシステムに問題が発生すればレスポンス自体できなくなってしまう。静的生成ならwebサーバのプロセスがダウンでもしない限りはレスポンス自体できないということはない。


こう書いていくと静的生成の良いところばっかりが目立つが欠点もあり、記事作成時に既存ファイルからのリンクなども必要になるため、関連する複数の記事ファイルを更新する必要が出てきてしまう。記事件数の多いブログとなれば大量のディスクアクセスが発生し、稼働しているサーバの負荷が高くなるのと同時に一連の処理の完了まで数時間かかるようなケースもある。


結局どちらのタイプも一長一短である。生成タイプを選択する際は、稼働させるサーバのスペックや最終的にどの程度の記事件数のブログに育てたいかなどの条件次第かと思います。

« SSL証明書の有効期限確認 | トップページ | MySQLコマンドの\G »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: ブログの静的生成と動的生成について:

« SSL証明書の有効期限確認 | トップページ | MySQLコマンドの\G »