Firefox 3:places.sqliteの最適化について ― 2009/01/11 00:09
Firefox3のSQLiteをreindex(とvacuum)をしてみたよ - 雑木林とコンピュータのメモ帳
Firefox 3:起動を速くする 追記とかFirefox 3:placesをVACUUMして劇的に起動が速くなる場合もあるそうですが効果がなかったよという話がありましたので、ちょっと書いておこうと思った次第。
私は素人ですので、勘違いして間違った事を書いているかもしれません。また全ての条件を網羅している訳でもありません。あまり鵜呑みにしないで(笑)。
また、間違いなどコメントなどでご指摘頂けたら幸いです。
ファイルサイズが小さくなることで、起動時間の短縮(極端な例を除けば2~3秒程度改善)やメモリの負担軽減による応答の改善が期待できます。
reindexより効果がある/ないという場合が想像しやすいかと思います。
ノートの内容が増えて、たくさん付いた付箋が見づらくなった時、付箋を見やすく貼り直すのがreindexです。
インデックスが最適化されることで、起動時間の短縮(2~5秒程度)の他、サイトを表示する際の応答の改善(おそらく履歴更新の負荷軽減によるものかと)が期待できます。
V:VACUUM
R:REINDEX
〇効果が期待できる
△効果は多少期待できそう
×効果は薄そう
V/R
〇〇 Fx 3導入から半年経過。
×〇 ブックマーク数が多い(2700以上)。
〇〇 履歴が1日で300とかたまにある(壁紙とか探すとすぐそうなるw)。
△△ 履歴の最短保持期間を短くしている(30日)。
△△ 履歴の最長保持期間を短くしている(60日)。
履歴の保持期間はデフォルトに対して短いですが、短いと言うには長く1日あたりの履歴が多いので、保持される履歴の件数を考えると、どちらもある程度効果あるだろうと考えました。
VACUUM:8MB→3MB、初回起動が2秒短縮(12~13秒)。再起動は忘却の彼方w
REINDEX:初回起動が6秒短縮。(6~7秒)。再起動は2~3秒。
現在は8.60MB、初回起動7秒、再起動2~3秒で、VACUUMした頃の容量に戻ったのに良い状態を保っています。
テスト環境で今のplaces.sqliteにVACUUMとREINDEXをやってみましたが、7.5MBに減っただけで、変化は感じられません。
起動が10秒くらいに遅くなったら、またVACUUMとREINDEXをやってみようと思います。
試しにplaces.sqliteを作り直すと、1.1MB、起動5~6秒、再起動2秒くらいです。
履歴がなくなりますので、よく見るページなどが使い物にならなくなりますw。
履歴なんていらない人は、むしろ作り直した方がいいのかも。
Firefox 3:places.sqliteを小さくたもつコツ
先に結果を書いておくと、私の環境では体感速度は変わりませんでした。中略
vacuumの結果、ファイルサイズは以下のように小さくなりました。
- formhistory.sqlite サイズ 1,043KB→1,040KB -0.3%縮小
- places.sqlite サイズ 18,760KB→16,600KB -11.5%縮小
- urlclassifier3.sqlite 41,436KB→33,832KB -18.4%縮小
Firefox 3:起動を速くする 追記とかFirefox 3:placesをVACUUMして劇的に起動が速くなる場合もあるそうですが効果がなかったよという話がありましたので、ちょっと書いておこうと思った次第。
私は素人ですので、勘違いして間違った事を書いているかもしれません。また全ての条件を網羅している訳でもありません。あまり鵜呑みにしないで(笑)。
また、間違いなどコメントなどでご指摘頂けたら幸いです。
VACUUM
placesをノートに例えると、使い込んだノートから必要な情報だけを新しいノートに写して、新しいノートを使うということです。ファイルサイズが小さくなることで、起動時間の短縮(極端な例を除けば2~3秒程度改善)やメモリの負担軽減による応答の改善が期待できます。
reindexより効果がある/ないという場合が想像しやすいかと思います。
- 速くなる例
-
Firefox 3が導入した頃より遅くなった場合というのが前提です。
・places.sqliteが極端に断片化している場合(追記)
・ブックマーク数が少ない(数十とか)。
・履歴が1日で200以上あるヘビーユーザ。(削除領域が多そうだから)
・ハードディスクのアクセス速度が遅いPC
・メモリの少ないPC
- 速くなりにくい例
-
要はplaces.sqliteが太らないような設定をしてるとか、減りようがない使い方をしてる場合です
・Fx 3の導入から日が浅い。
・places.sqliteを作りなおして日が浅い。
・ブックマーク数が多い(数千とか)。
・履歴の最短保持期間を短くしている(3日とか)。
・履歴の最長保持期間を短くしている(7日とか)。
REINDEX
ノートに例えるなら、インデックスはノートに付箋をつけるようなものです。ノートの内容が増えて、たくさん付いた付箋が見づらくなった時、付箋を見やすく貼り直すのがreindexです。
インデックスが最適化されることで、起動時間の短縮(2~5秒程度)の他、サイトを表示する際の応答の改善(おそらく履歴更新の負荷軽減によるものかと)が期待できます。
- 速くなる例
-
Firefox 3が導入した頃より遅くなった場合というのが前提です。
遅くなってないのに速くはなりません。そういう意味では高速化でなく、速度回復というべきかも。
・ブックマークを全面見直しするくらいの整理を行った。
・履歴が1日で200以上あるヘビーユーザ。(インデックスがフラグメント化してそう)
・履歴の最短保持期間が長い。
・履歴の最長保持期間を設定していない。
・ハードディスクのアクセス速度が遅いPC
- 速くなりにくい例
-
インデックスの書き換えがあまり発生してない場合、ほとんど意味がありません。
・Fx 3の導入から日が浅い。
・places.sqliteを作りなおして日が浅い。
自分の環境で考えてみると
次のように評価してみました。V:VACUUM
R:REINDEX
〇効果が期待できる
△効果は多少期待できそう
×効果は薄そう
V/R
〇〇 Fx 3導入から半年経過。
×〇 ブックマーク数が多い(2700以上)。
〇〇 履歴が1日で300とかたまにある(壁紙とか探すとすぐそうなるw)。
△△ 履歴の最短保持期間を短くしている(30日)。
△△ 履歴の最長保持期間を短くしている(60日)。
履歴の保持期間はデフォルトに対して短いですが、短いと言うには長く1日あたりの履歴が多いので、保持される履歴の件数を考えると、どちらもある程度効果あるだろうと考えました。
実際には
記録を残してなくて、大雑把な記憶ですいません。VACUUM:8MB→3MB、初回起動が2秒短縮(12~13秒)。再起動は忘却の彼方w
REINDEX:初回起動が6秒短縮。(6~7秒)。再起動は2~3秒。
現在は8.60MB、初回起動7秒、再起動2~3秒で、VACUUMした頃の容量に戻ったのに良い状態を保っています。
テスト環境で今のplaces.sqliteにVACUUMとREINDEXをやってみましたが、7.5MBに減っただけで、変化は感じられません。
起動が10秒くらいに遅くなったら、またVACUUMとREINDEXをやってみようと思います。
試しにplaces.sqliteを作り直すと、1.1MB、起動5~6秒、再起動2秒くらいです。
履歴がなくなりますので、よく見るページなどが使い物にならなくなりますw。
履歴なんていらない人は、むしろ作り直した方がいいのかも。
Firefox 3:places.sqliteを小さくたもつコツ
コメント
トラックバック
このエントリのトラックバックURL: http://puppet.asablo.jp/blog/2009/01/11/4052506/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。