読者です 読者をやめる 読者になる 読者になる

よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

RAMディスクにFirefoxのキャッシュを保存し快適なFireFoxライフを送ろう!

2008年06月17日にFirefox3がリリースされて、はや4ヶ月が経過しました。
リリース当初は動作の軽快さに感動し、すげぇすげぇ言っていたのを覚えています。
しかし、約2ヶ月前にはGoogle Chromeがリリースされ、高速ブラウザの座を脅かされる事態にもなりました。
時間の経過やGoogle Chromeの登場の影響もあるのかもしれませんが、最近ではFirefox3が高速であることさえ忘れかけ、もっと高速なブラウザはないものかと思うようにもなってきました。
そこで、ブラウザのバージョンアップによる高速化を求めるのではなく、ブラウザが利用しているリソースをチューニングすることで高速化を図り、快適なFirefoxライフを取り戻してみましょう。

高速化を実現するために、今回はRAMディスクにFirefoxのキャッシュを保存するようにしてみましょう。

そもそもRAMディスクとは何なのかと言いますと、メモリーの一部の領域をデバイスに割り当てることで、ディスク領域のような感覚で書き込み/読み出しができる領域です。
このRAMディスクを利用することで何がうれしいかというと、メモリの領域をデバイスに割り当てているため、ハードディスクの領域への書き込み/読み出し処理よりもずっと高速にI/O処理を行うことができるようになります。
ブラウザは高速化のために、キャッシュを保存するようになっていますが、そのキャッシュの書き込み/読み出しを高速化してみましょう。
#今回は、Ubuntu 8.04(hardy)にて試してみますが、基本的には他のLinuxディストリビューションでもそれほど設定手順は変わらないはずです。

それではRAMディスクを利用可能な状態にしましょう。
はじめに、RAMディスクを割り当てるために /ramdisk を作成しておきます。
#環境に応じて /ramdisk ではなく /tmp などに置き換えてください。

[linux]$ sudo mkdir /ramdisk
[linux]$ sudo chmod 777 /ramdisk

作成したディレクトリ /ramdisk にRAMディスクをマウントするようにします。
今回は必要なサイズに応じてRAMディスクの容量が変化するtmpfsを利用し、最大割当容量を512MBとします。

[linux]$ sudo vi /etc/fstab
#
・・・(略)
/dev/shm /ramdisk tmpfs size=512m 0 0

それではマウントしてみましょう。

[linux]$ sudo mount -a

マウントできているかを確認してしてみましょう。

[linux]$ sudo mount
・・・(略)
/dev/ram0 on /ramdisk type tmpfs (rw,size=512m)

念のためにdfコマンドでも確認しておきます。

[linux]$ df -h
Filesystem サイズ 使用 残り 使用% マウント位置
・・・(略)
/dev/shm 512M 0 512M 0% /ramdisk

これでFirefoxのキャッシュを保存する領域の準備は完了です。
それでは続いてFirefoxの設定を変更することで、キャッシュを /ramdisk 以下に保存するようにします。

Firefoxを起動し、アドレスバーに以下を入力してください。

about:config

アクセスすると警告画面が表示されますが、「細心の注意を払って使用する」ボタンを押しましょう。

f:id:interu:20081022013124p:image

続いて適当なところで右クリックし、
「新規作成」→「文字列」
を選択します。
するとダイアログが表示され、「設定名を入力してください」と表示されますので、
browser.cache.disk.parent_directory」と入力し、値に「/ramdisk
を入力すると、以下の画像のように設定が反映されます。

f:id:interu:20081022013123p:image

設定できたら、Firefoxを再起動し、いくつかのサイトにアクセスしてみましょう。
すると /ramdisk 以下に Cache ディレクトリが作成されます。

これでRAMディスクにFirefoxのキャッシュを保存することができるようになりました。

本当にFirefoxの動作が高速になったかどうかを確認したいと思われる方は、下記のアドオンなどを導入し、計測されてみてはいかがでしょうか。