ツールを使った設定 編集
Windows向けのFireTune
というソフトがあります。最適化する内容は5つのタイプから選択できるとのこと。
- 窓の杜 - 【NEWS】「Firefox」の通信設定を手軽に最適化して表示速度の向上を図る「FireTune」

- 朝顔日記 - FireTune を試してみた
サーバーへの同時接続数を過剰に増やすことは、サーバー管理者やサイト管理者に対して非常に迷惑となります。 チューニングする際はRFC 2616
に定められた範囲内で行ってください。
設定方法 編集
Mozilla Firefox をより高速にする設定 編集
about:configで設定 またはuser.js(ない場合は作る)にコピペする
※注: user_pref("network.http.pipelining", true);はpipeliningに対応していないサイトによっては表示が遅くなったり、出来なくなったりします。
例:
user_pref("browser.cache.memory.capacity", 65536);
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("browser.xul.error_pages.enabled", true);
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.pipelining", false);
user_pref("network.http.pipelining.maxrequests", 4);
user_pref("network.http.proxy.pipelining", false);
user_pref("nglayout.initialpaint.delay", 750);
user_pref("plugin.expose_full_path", true);
user_pref("signed.applets.codebase_principal_support", true);
他にも
user_pref("ui.submenuDelay", 0);
など。
内容 編集
以下、元スレッドでの詳しい内容を引用・翻訳
このスレッドはGeckoベースのブラウザの様々な最適化設定について、web上に知れ渡っている明らかなミスをただし、議論し答えを出すのが目的です。
ただし、私はGecko開発者ではありませんから、塩粒ほどの情報しか投稿できないことを知っておいてください。
情報の穴を埋めたり、間違いを正して頂ける人は役立つ設定を教えてくれ人と同様、大歓迎です、良いチューニングをしましょう。
解析・レンダリングの設定 編集
注意:これらの設定は実際に使える内部設定として存在し、問題の手直しに役立ちますが、エンドユーザーが変更するべき点ではありません。
実際のソースで説明できない点では、オマジナイの一種ですし、またGeckoと密接に結びついているわけではありません。
デフォルトの設定では幅広い種類の接続タイプ(訳注:ISDN,ADSLナド)やシステムスペックに対応できるよう出来る限り最適化されています。
下記を設定すればGeckoでレンダリングが早くなり、結果、コンテンツの表示速度は速くなることもあるでしょうが、トータルの読み込み時間で見れば逆効果ともなり得ます。
出来る限り、テストは徹底的にしてください。
| nglayout.initialpaint.delay | |
|---|---|
| 説明 | ページをレンダリングする前の待ち時間 |
| 種類 | 整数値 |
| 単位 | ミリ秒 |
| 初期値 | 250 |
| 推奨値 | content.notify.interval (?)と同期させる |
| 訳注 | content.notify.intervalの訳注をご覧ください。 |
| content.notify.ontimer | |
| 説明 | ページのレンダリング中の基準時間の有効化(?) |
| 種類 | 真偽値 |
| 初期値 | true(有効) |
| 推奨値 | デフォルトのまま |
| content.notify.interval | |
| 説明 | content.notify.backoffcountで決めた初期量の時間の間隔(?) |
| 種類 | 整数値 |
| 単位 | 1000ミリ秒(?) |
| 初期値 | 120000 |
| 追加情報 | nsHTMLContentSink.cpp 及び Bug 72138 に注意 |
| 100000以下に設定しないでください。 | |
| nglayout.initialpaint.delay (?) と同期させてください。 | |
| 他にもいえることですが100とかの常識外れな値にしないでください。 | |
| 訳注 | 高速回線(40M ADSLやFTTHなど)・高速なCPU(大体1.5Ghz以上)の方は、値を減らせば再描画の回数が減る可能性があります。 アメリカでは低速回線が多いため、このような記述がされていると思われますが、ある程度回線やCPUに余裕のある方は100程度にしてもいいでしょう。 |
| content.notify.backoffcount | |
| 説明 | ページの大まかなレイアウトの計算がすんだ時に、基準時間でのレンダリングが始まるまでのページの再処理時間(?) |
| 種類 | 整数値 |
| 単位 | 1000ミリ秒(?) |
| 初期値 | -1(しない) |
| 追加情報 | nsHTMLContentSink.cpp![]() |
| この値はお使いの回線の接続速度やPCスペックに左右されます | |
あまり効果が無いチューニング 編集
| content.switch.threshold | |
|---|---|
| 説明 | ここで指定した時間、マウス又はキー操作をしないと high frequency mode から low frequency mode に切り替わる |
| 種類 | 整数値 |
| 単位 | 1000ミリ秒(?) |
| 初期値 | 750000 |
| 追加情報 | nsHTMLContentSink.cpp![]() |
| nglayout.initialpaint.delay と content.notify.interval と同じ値にしておいてください(?) | |
| content.maxtextrun | |
| 説明 | 不明 |
| 種類 | 整数値 |
| 単位 | KB(キロバイト) |
| 初期値 | 8191 |
| 推奨値 | デフォルトのまま |
| 追加情報 | nsHTMLContentSink.cpp 及び Bug 77540 に注意 |
| content.interrupt.parsing | |
| 説明 | (時折)ソフト側でイベントがループしてしまったときに解析を中断させるか? |
| 種類 | 真偽値 |
| 初期値 | true(有効) |
| 推奨値 | デフォルトのまま |
| content.max.tokenizing.time | |
| 説明 | ソフト側でイベントがループして、解析を中断させたとき、その処理までの時間 |
| 種類 | 整数値 |
| 単位 | 1000ミリ秒 |
| 初期値 | content.notify.intervalの3倍 |
| 推奨値 | デフォルトのまま |
| 一例 | 2250000 |
| 追加情報 | nsHTMLContentSink.cpp 及び Bug 76722 に注意 |
| この値を減少させると大きなページの読み込みが早くなるかもしれませんが、全体での読み込み時間は増えてしまうかもしれません。 この値を変えるならcontent.notify.intervalをここの2倍にしておいてください。 | |
| browser.display.show_image_placeholders | |
| 説明 | 画像がまだ読み込まれていないとき、壊れているときに出る画像を出さないようにする |
| 種類 | 真偽値 |
| 初期値 | true(有効)(1.0.6) |
| 推奨値 | true(画像が壊れているときも画像が出ないのは問題ない場合) |
| 追加情報 | 有効にすると画像が壊れているとき、混乱してしまうかもしれません |
HTTP接続設定 編集
これらを変えるとHTTP接続数をいじることができます。 Fx3.0以降の初期値は他のブラウザと同程度まで増えていますが、問題がなければ変更する必要はありません。
以下の推奨値は、Fx3.0以降の初期値はRFC 2616
に定められた範囲外の過剰な接続数で、HTTPレスポンスタイムの悪化・ネットワークの混雑などを引き起こし、ネットワーク全体への迷惑となる危険性があると考える場合の値です。
| network.http.max-connections | |
|---|---|
| 説明 | 接続数の上限 |
| 種類 | 整数値 |
| 初期値 | 30 |
| 推奨値 | 24 |
| network.http.max-connections-per-server | |
| 説明 | 1サーバ毎の接続数の上限 |
| 種類 | 整数値 |
| 初期値 | 15 |
| 推奨値 | 8 |
| network.http.max-persistent-connections-per-proxy | |
| 説明 | 1プロキシ毎の持続的接続数の上限 |
| 種類 | 整数値 |
| 初期値 | 8 |
| 推奨値 | 4 |
| network.http.max-persistent-connections-per-server | |
| 説明 | 1サーバ毎の持続的接続数の上限 |
| 種類 | 整数値 |
| 初期値 | 6 |
| 推奨値 | 2 |
HTTPパイプライン処理設定 編集
留意事項 編集
WEBサイトのサーバーが対応していないと, "読み込み完了に時間が掛かる","応答なし","画像が表示されない","間違った画像が表示される"および"レイアウトが崩れる"等不具合が生じる。
よく理解していないばあいは, パイプラインの設定は変更しない事。
パイプライン処理とは 編集
パイプライン処理は最初の反応を見ずに、一度に数回の要求を出すことで転送速度を上げるHTTP1.1の特徴です(詳細
)
| network.http.pipelining | |
|---|---|
| 説明 | 非プロキシ接続の時、パイプライン処理をさせる |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | false |
| 追加情報 | パイプライン通信を正常にサポートしていなくて、それでもインターネット上の(鯖の)ブラックリストに入っていない鯖では問題が起きる可能性があります |
| network.http.pipelining.firstrequest | |
| 説明 | 通信のうちの最初の要求でパイプライン処理を使うか |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | 設定しないでください、百害あって一利なしですから。 |
| 追加情報 | これはソースのどっかから拾ってきたモノでもないようですし、使われている感じもなさげです。 だって、初めの通信に明らかにパイプライン処理なんか使えないんですもの(訳注:じゃあ、何のためにあるんだ(´・ω・`)ショボーン) |
| network.http.pipelining.maxrequests | |
| 説明 | 一度のパイプライン処理で送信する最大要求数 |
| 種類 | 整数値 |
| 初期値 | 4 |
| 推奨値 | 4 |
| network.http.pipelining.ssl | |
| 説明 | SSL接続の時、パイプライン処理をさせる |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | false |
| network.http.proxy.pipelining | |
| 説明 | プロキシ接続の時、パイプライン処理をさせる |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | false |
| 追加情報 | network.http.pipeliningと同じ |
お役立ちキャッシュ設定 編集
●RAM Diskソフトウェアを使用せずに、ブラウザキャッシュをメモリ上(OS管理内)に設定する方法。
1.browser.cache.disk.enable を false に設定。
2.browser.cache.memory.enable を true に設定。
3.browser.cache.memory.capacity を KB単位 で設定。 ※KiB(1024)ではなくKB(1000)で設定。
| browser.cache.memory.capacity | |
|---|---|
| 説明 | メモリにキャッシュする割り当て量 |
| 種類 | 整数値 |
| 単位 | KB(キロバイト) |
| 初期値 | なし(搭載メモリ量に応じて自動的に割り当てられます) |
| 推奨値 | もしブラウザの戻る/進むの処理を何回もして問題なく、さらに(戻る/進むの)パフォーマンスをあげたいときは高い値をとってください |
| browser.cache.disk.capacity | |
| 説明 | ハードディスクにキャッシュする割り当て量 |
| 種類 | 整数値 |
| 単位 | KB(キロバイト) |
| 初期値 | 50000 |
| 推奨値 | 0(キャッシュしない) |
| browser.cache.disk_cache_ssl | |
| 説明 | SSL通信で受け取ったデータをキャッシュするか否か |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | false |
| browser.cache.disk.parent_directory | |
| 説明 | 「Firefox」がキャッシュデータを置く場所 |
| 種類 | 文字列 |
| 初期値 | プロファイルフォルダ |
| 推奨値 | プロファイルフォルダ |
| 追加情報 | OSがWindowsならフォルダの区切りには\\を用いてください |
| フォルダが存在しなかったら勝手に作ります | |
| 一例 | E:\\Folder1\\Folder2 |
その他いろいろ役立つ設定 編集
| network.dns.disableIPv6 | |
|---|---|
| 説明 | IPv6用のDNSリクエストを無効化します。 |
| 種類 | 真偽値 |
| 初期値 | false |
| 推奨値 | true |
| browser.xul.error_pages.enabled | |
| 説明 | 接続がエラーの時、うるさいダイアログでなくエラーページを表示させる |
| 種類 | 真偽値 |
| 初期値 | true(有効) |
| 推奨値 | true(Show Failed URL (拡張)と組み合わせるとなお(・∀・)イイ!) |
| 追加情報 | Bug 28586 に注意、ちょっとユーザビリティ的に問題がある。 |
| plugin.expose_full_path | |
| 説明 | about:pluginsでプラグインの完全な位置を示します |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | true(有効) |
| signed.applets.codebase_principal_support | |
| 説明 | 不明 |
| 種類 | 真偽値 |
| 初期値 | false(無効) |
| 推奨値 | true(ページごとコピーしてクリップボードに入れたいとき) |
結果 編集
この設定の変更はuser.jsとabout:configのどちらからでも可能です。
ほとんどの設定方法はこちら(Preferential)
に説明されています。
この設定を変更しても普通にブラウジングする程度なら、レンダリングスピードやトータルの読み込み時間はそう変わらないでしょう。
実感したいのなら、ローカルでとても大きなページを保存しディスクから読み込んだり、JavascriptのOnloadハンドラーやストップウォッチで時間を計ればいいでしょうね。
http://www.numion.com/stopwatch/
のような回線速度の測定をしてみてもいいかもしれません。
どちらも違う接続環境や違うPC構成でも同じように変化するでしょう。また、提案や例を示したページを出してくだされば歓迎します。
最後に私がダイヤルアップ*1回線を使い高速なPC上で、以下のように設定した結果を示しておきます。
browser.cache.memory.capacity : 65536 browser.cache.disk_cache_ssl : true browser.xul.error_pages.enabled : true content.interrupt.parsing : true content.max.tokenizing.time : 3000000 content.maxtextrun : 8191 content.notify.backoffcount : 5 content.notify.interval : 750000 content.notify.ontimer : true content.switch.threshold : 750000 network.http.max-connections : 24 network.http.max-connections-per-server : 8 network.http.max-persistent-connections-per-proxy : 4 network.http.max-persistent-connections-per-server : 2 network.http.pipelining : false network.http.pipelining.maxrequests : 8 network.http.proxy.pipelining : false nglayout.initialpaint.delay : 750 plugin.expose_full_path : true signed.applets.codebase_principal_support : true
一例として、これらの設定でscragzさんのtableのレンダリング
でテストをした結果、平均してデフォルトで約3.4秒だったのが約2.4秒になりました*2。
この具体的なテストでは30%の高速化といった結果となったことになります。
もしもっと情報が知りたければscragzさんの投稿
(Mozillazine)をご覧ください。
もちろん、これらは自己責任でやってください。よいチューニングを ;)
その他チューニング情報 編集
- Caminoべんりせっと
に入っているおまけのuser.js - Preferential

- Configuration Mania

- FireTune

- browser.cache.disk.parent_directoryに対してWindowsでのフォルダの区切りは「⁄⁄」ではなく「\\」のようです。http://www.mozilla-japan.org/support/firefox/tips#oth-cache
-- by MTM at 2005-06-07 13:45:30 (火) - いちおう、高速化設定が負荷増加になる云々の議論があるので、user_pref("network.http.max-persistent-connections-per-server", 2);にしますた。 - at 2005/01/29 (土) 20:45:29
- 凄い情報量なので、まだちゃんと読んでませんがまずはリンクということで書いてみました。(content.* なんてはじめて見た) -- pink 03月01日 (月) 01:11:24
- wiki は久しぶりなので見た目/内容に関してどなたか修正をお願いします。 -- pink 03月01日 (月) 01:12:50
- ほんとすごい量・・3日には暇が出来るのでそんときまた訳(要約)してみますです、どもー -- 525 03月01日 (月) 03:13:20
- 翻訳中.. -- 525 03月03日 (水) 16:51:28
- 翻訳終わり -- 525 03月04日 (木) 04:39:27