前のエントリ places.sqlite の再作成 で sqlite 系のファイルをいじった時に、当然 urlclassifier3.sqlite もあれこれしてみた。 結論として、期待したほどの高速化が得られなかったのでエントリには書かなかったのだが(いいかげん長文になってたし)、某所の高速化エントリ で tips の一つにあげられていたので蘊蓄たれてみる。 常連読者の皆様には既知のことかもしれないがご容赦を。 1. urlclassifier3.sqlite とは何か? 悪意のあるサイト、つまり偽装サイトやら攻撃サイトやらにアクセスしようとした時に、警告を出すための URL データベースである。 Firefox 2 では urlclassifier2.sqlite が使用されていた。 Firefox 3 では urlclassifier3.sqlite が使用されている。 このデータベースは、Firefox が定期的に提供元の Google にアクセスして更新している。 2. urlclassifier3.sqlite はどこにあるのか? 私がハマったところなのだが、人によってはプロファイルフォルダの中に urlclassifier3.sqlite があるだろう。 Fx2 のプロファイルを使い回ししていたりすると urlclassifier2.sqlite も一緒にあるかもしれない。 だが、ファイルのタイムスタンプを見てみれば、最終更新が古い日付になっているだろう。 プロファイルフォルダにあるファイルは、現在は使用されていないのだ。 だから、もしプロファイルフォルダに ただし、似たような名前で urlclassifierkey3.txt というファイルもあり、これは使われているので削除しないように。 現在では、urlclassifier3.sqlite はプロファイルフォルダではなくキャッシュフォルダにある。 Windows XP の場合、 C:\Documents and Settings\(username)\Local Settings\Application Data\Mozilla\Firefox\Profiles に、各プロファイルごとのフォルダがあってその中にある。 ちなみに、プロファイルフォルダの方は、 C:\Documents and Settings\(username)\Application Data\Mozilla\Firefox\Profiles 配下であり、\Application Data 以下は同じなので注意。 また、Mac では ~/ライブラリ/Caches フォルダの中にあるので、キャッシュファイルと間違えている人もいるようだが、urlclassifier3.sqlite はキャッシュファイルではない。 urlclassifier3.sqlite がキャッシュフォルダに移動した時期は Firefox 3.0.1 あたりだと思うのだが、調べきれなかった。 移動した理由は、roaming profile の関係らしい。 プロファイルをローミングして使う場合、キャッシュと同じようにプロファイルフォルダ以外にあって、ローミングの対象から外した方がいい、という事だと思われる。 Bug 383031 – how to shrink the urlclassifier2.sqlite / urlclassifier3.sqlite file ? <2009年3月9日午後11時25分 追記> 上記の「移動した理由」は、遠からずと言えども当たらず、だったようだ。 コメント欄で、あ さんに教えていただいた Bug 387196 – support the new google safebrowsing protocol のパッチによれば、データベースの形式が変わって、他のマシンにはそのまま移動できないファイルになったから、別の場所に保存する、という事らしい。 <追記終わり> 3. urlclassifier3.sqlite を削除するとどうなるか 半年以上いじらずに使用していた私のプロファイルでは、urlclassifier3.sqlite が 52.9MB になっていた。 Firefox を終了した上でこれを削除(またはリネーム)し、Firefox を再起動。 おお、なんと 32KB になっているではないか。 Firefox の起動も高速化している(ような気がする)。 めでたしめでたし。 甘い。甘すぎる。 Firefox を再起動してそのままアイドリングしてみよう。 urlclassifier3.sqlite はどんどん大きくなっていく。 32KB というのは分割ダウンロードの始まりにすぎないのだ。 私の環境だと、次の 3分でファイルサイズは 6.2MB になり、その後 5分ごとに 3〜4MB の割合で増大していった。 30分後には 18.9MB になり、1時間後の 19.4MB が最終サイズだった。 1ヶ月後の現在でも 19.6MB なので、こんなものだろう。 まとめると、urlclassifier3.sqlite を削除すれば、ファイルサイズはある程度小さくなる。(52.9MB → 19.6MB) だから、起動時間の短縮にはそれなりの効果があるだろう。(あとディスクの節約にも) だが、一旦起動した後のブラウジングに関しては、高速化の効果はない。 ファイルサイズが 52.9MB であっても、空のデータはメモリには読み込まれない、という点も指摘しておく。 4. urlclassifier3.sqlite を使用しないとどうなるか 20MB 近いファイルなんぞいちいち読み込みたくない、という向きもあろう。 ツール → オプション → セキュリティ で、偽装サイトと攻撃サイトの警告のチェックを外した上で urlclassifier3.sqlite を削除すれば、その後は再作成されない。 しかし、これは安全性とのトレードオフだ。 私はできるだけ危険なサイトには行かないようにしているのだが、それでも 1回だけ偽装サイトの警告を見た事がある。 雑木林とコンピュータのメモ帳 の計測にもあるように、警告を外したとしてもブラウジングでの高速化は得られない。 高速化を追求して urlclassifier3.sqlite を使用しないのは、車体が軽くなればスピードが出るからと言って、エアバッグやシートベルトを外すようなものだ。 たいして効果はない上に事故った時の被害が大きすぎるので、個人的にはお勧めできない。 <2009年3月8日午後10時40分 追記> あ さんのコメントを受けて 3箇所に追記および修正。 <追記終わり> |
<< 前記事(2009/03/01) | ブログのトップへ | 後記事(2009/03/15) >> |
タイトル (本文) | ブログ名/日時 |
---|---|
[Application][Web]正気の沙汰とは思えない程に重くなってきたFirefoxに対してや...
ここ最近、正気の沙汰とは思えない程にFirefoxが重くなってきたので色々と試行錯誤してみた結果、魂を揺さぶられるほどに効果的な方法を見つけることに成功したので、ここで報告します。 まず私のFirefoxが一体どれ程に凄惨な状態になってしまっていたのかということですが ...続きを見る |
A.C.Milan好きの皮相浅薄な独り言 2010/09/24 18:19 |
内 容 | ニックネーム/日時 |
---|---|
> だから、もしプロファイルフォルダにこれらのファイルがあれば、ディスクの無駄遣いなので速攻で削除して構わない。 |
あ 2009/03/08 20:15 |
> urlclassifier3.sqlite がキャッシュフォルダに移動した時期は Firefox 3.0.1 あたりだと思うのだが、調べきれなかった。 |
あ 2009/03/08 20:16 |
あ さん、いつもお世話になっております。 |
池田 2009/03/08 22:55 |
> 読んでみましたけど、safebrowsing を実装する、というバグとしか思えないんですが? |
あ 2009/03/09 00:37 |
> - nsresult rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR, |
あ 2009/03/09 00:38 |
> + // Because we dump raw integers into the database, this database isn't |
あ 2009/03/09 00:39 |
詳しい解説、ありがとうございます。 |
池田 2009/03/09 23:32 |
<< 前記事(2009/03/01) | ブログのトップへ | 後記事(2009/03/15) >> |