印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
LinuxMovableType データベースを Berkeley DB から MySQL に

再構築が耐えられないくらい遅いので,データベースを MySQL に変換した。それでも全体の再構築に1時間もかかってしまう。

■ ■ ■

これまでデータベースとして Berkeley DB を使ってきた。しかし,記事数が増えるにつれ再構築に時間がかかるようになってきてしまった。現在の記事数は,この記事を含めて 536 ある。このサイトの全体の再構築に1時間30分かかっている(nlog(n): 日付別アーカイブの再構築に失敗する)。

Berkeley DB より MySQL の方が高速だと言われているので,マニュアル(Berkeley DBデータベースをSQLデータベースに変換する手順)にしたがって Berkeley DB を MySQL に変換して運用することにした。以前試したのと同じ手順を踏むことにする(nlog(n): Berkeley DB から MySQL への移行を試す)。

変換後,サイト全体の再構築を行ない時間を計測した。

$ date; /home/httpd/opentype/mt-rebuild.pl -mode="all" -blog_id=1; date
2005年  8月 14日 日曜日 16:21:14 JST
2005年  8月 14日 日曜日 17:25:34 JST

再構築にかかる時間は 2/3 になったが,それでも1時間かかっている。

この記事からは MySQL にしか登録されない。MySQL をやめるには Berkeley DB に逆変換する必要がある。その時は Ogawa::Memoranda: mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト さんの配布されているスクリプトのお世話になるだろう。

2005年8月25日追記:
根本的な原因は,システムのパフォーマンスが十分に出ていないことだということが分かりました(nlog(n): CPU の動作周波数が低過ぎる)。調整したところ,動作がかなり改善されています(nlog(n): Vine 3.1 でカーネルの再構築)。

2005年8月29日追記:
記事が長くて容量が大きい場合,Berkeley DB から MySQL に変換すると,記事が途中で切れてしまうことが分かりました(nlog(n): cpufreq は未対応だった)。大きい記事がある場合は,あらかじめ MySQL のテーブルを大きくとっておく必要があります。具体的には schemas/mysql.dump ファイルを編集して entry_text の宣言を text から mediumtext あるいは longtext に変更してから mt-db2sql.cgi を実行します(小粋空間: MySQLでエントリーのフィールドサイズを拡張する)。

2005年12月27日追記:
上記の問題は解決しました (nlog(n): 記事の長さの制限値を変更する)。

Posted by n at 2005-08-14 23:52 | Edit | Comments (2) | Trackback(1)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
MT再構築エラーの回避
MTの再構築エラーの件ですが、 どうやらデータベースに問題があったようです。 Berkeley DBよりもMySQLのほうが相性がいいらしく、 スクールのMT専任講師の方にデータベースの変換をしてもらいました。 その後は、リビルド数を10に戻しても快適に再構築ができていま... Trackbacked from: ドイツ駐在員妻、月10万円を目指してアフィリエイト! at January 08, 2006 17:51
Comments

サーバーマシンのCPUやメモリー周りのパワーアップを考えてみるってのは無しなんでしょうか?
うちのところは共用サーバの「さくらのレンタルサーバ」のスタンダードプランでMySQLが使える中で故意にBerkeleyDBを使ってますが、現在1560エントリーの全ての再構築(個別、日別、週別、月刊(目次のみ)アーカイブでカテゴリーアーカイブは無し)で20分もかかりませんが……

ちなみにMySQLを避けてるのは提供はされてはいるけどサポート外のMySQLサーバーが重いとか反応が鈍いとの話が多いからです。

Posted by: ち印 at August 15, 2005 13:49

コメントありがとうございました。今のところサーバのパワーアップは考えていません。MySQL に変えても,体感的な速度はほとんど変わっていません。
コメントを頂いたお陰で,サーバが本来の性能を発揮していないかも知れないという疑いがでてきました。調べてみることにします。

Posted by: n at August 16, 2005 12:52
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?