WordPressは素晴らしいブログシステムでした。
プラグインをインストールして簡単に機能拡張したり、TeXだって書く事が出来た。
でも様々なプラグインをインストールしていくうちに、WordPress本体のアップデートが困難になり、ブログの記事を書いている時間よりPHPのコードを読み書きする時間の方が多くなってしまった。
今なら、外部のブログサービスを利用したり、他のブログシステムを構築する選択肢もあるけれど、コンテンツの永続性とデータフォーマットのポータビリティを考慮した結果、自分で作る事にした。
mod_diaryは以下の特徴を持っています
- apache moduleとして実装
- markdown記法で記事を書ける
- emacsやvimなど、お気に入りのテキストエディタで書ける
- RDBを使用しない
- 速くて軽い
速いというのがどれ位速いかというと、同じサーバー(スペック低い)、同じ記事の内容に対してabでベンチマークを行った所。
wordpress: 2.1 req/sec
mod_diary: 637 req/sec
と、パフォーマンスに約300倍程度の差が出た。 キャッシュシステムを実装すればまだ速くなる余地は残されてる。
軽いというのは主にメモリ使用量がふわふわの軽さ、という意味です。
WordPressはMySQLを必要とする為、それだけで数百Mのメモリを使用してしまいます。それが原因で512MのさくらのVPSや、612MのEC2マイクロインスタンスで動作させるのが難しい状況がありました。
mod_diaryはapache moduleで実装されており、メモリを1Mも使用しません。さらにWorker MPMで動作するのでhttpd自体が省メモリになります。ゆえに、mod_diaryは低スペックなVPSやクラウド環境、組み込み機器でさえ動作させる事が十分可能です。
本当の所、これは本日開催されたhackathonで何か正月っぽいモノを作れと言われて作ったネタですので、まだ多くの人に使ってもらえる様に出来ていませんが、一応本気でWordPressから移行するつもりでいます。
未実装な機能:
- トップページ
- そのうち作る
- 検索機能
- google検索にまかせるぜ
- コメント機能
- コメントはtwitterなどで貰えばよいのでは無いか
ソースコードはこちら