Firefox Tuning
- BenBasson
- Moderator
- Posts: 13671
- Joined: February 13th, 2004, 5:49 am
- Location: London, UK
- Contact:
We've PM'd each other, breifly discussing it. When Laszlo has time, he's gonna help me with the math involved, because 1. My understanding is about 1% of his and 2. It's trivial to implement an interface for this, it would be a matter of hours, the hard work is working out different prefs for different configurations and finding a way to make that horribly complex process relatively transparent to people.
- d_g
- Posts: 519
- Joined: July 24th, 2003, 3:50 pm
OK I've been through the thread and copied and pasted the main settings. They're mostly Laszlo and Cusser's work but if I've mis-credited anything tell me.
Also I'm no expert so if I've ballsed anything up PM me!
450Mhz PC/dial-up
250MHz/cable
Fast computer/dial-up
Fast computer/512 ADSL
Everything really fast!
Extra stuff
Network/DNS settings (MonkeeSage):
-explanation on page 4
user_pref("dom.disable_window_status_change", true);
-This setting simply disables status bar changes by web pages, which saves some precious CPU time.
user_pref("ui.submenuDelay", 0);
-Makes bookmarks sub-menus open quicker
Cusser's design for an extension is on page 8
Also I'm no expert so if I've ballsed anything up PM me!
450Mhz PC/dial-up
Code: Select all
user_pref("content.max.tokenizing.time", 2250000);
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("nglayout.initialpaint.delay", 750);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
250MHz/cable
Code: Select all
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 1000000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 1000000);
user_pref("content.maxtextrun", 4095);
user_pref("nglayout.initialpaint.delay", 1000);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
or
user_pref("content.max.tokenizing.time", 2250000);
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("content.maxtextrun", 8191);
user_pref("nglayout.initialpaint.delay", 750);
Fast computer/dial-up
Code: Select all
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.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);
user_pref("plugin.expose_full_path", true);
Fast computer/512 ADSL
Code: Select all
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("content.max.tokenizing.time", 2250000);
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.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);
Everything really fast!
Code: Select all
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 2250000);
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("nglayout.initialpaint.delay", 500);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
Extra stuff
Network/DNS settings (MonkeeSage):
Code: Select all
user_pref("network.dnsCacheExpiration", 360);
user_pref("network.dnsCacheEntries", 100);
user_pref("network.ftp.idleConnectionTimeout", 60);
user_pref("network.http.keep-alive.timeout", 30);
user_pref("network.http.request.max-start-delay", 5);
user_pref("network.http.connect.timeout", 30);
-explanation on page 4
user_pref("dom.disable_window_status_change", true);
-This setting simply disables status bar changes by web pages, which saves some precious CPU time.
user_pref("ui.submenuDelay", 0);
-Makes bookmarks sub-menus open quicker
Cusser's design for an extension is on page 8
-
- Posts: 0
- Joined: December 31st, 1969, 5:00 pm
I tried doing the changes in about:config but was unable to search for any content.* entries. Are the content.* entries specifically for Windows? or some version for Firefox?
But anyway, with these setting I haven't got any performance improvements(didn't use the content.* entries). The scragz's test page gave me a load time of about 6.4 (units?? seconds, I suppose).
Could someone solve my mystry of the content.* entries in about:config?
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040506 Firefox/0.8
But anyway, with these setting I haven't got any performance improvements(didn't use the content.* entries). The scragz's test page gave me a load time of about 6.4 (units?? seconds, I suppose).
Could someone solve my mystry of the content.* entries in about:config?
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040506 Firefox/0.8
- BenBasson
- Moderator
- Posts: 13671
- Joined: February 13th, 2004, 5:49 am
- Location: London, UK
- Contact:
- Morpurgo.tk™
- Posts: 85
- Joined: March 27th, 2004, 8:15 am
- Location: The Netherlands
- Contact:
- BenBasson
- Moderator
- Posts: 13671
- Joined: February 13th, 2004, 5:49 am
- Location: London, UK
- Contact:
- alex-the-cat
- Posts: 291
- Joined: March 12th, 2004, 11:34 am
- Location: Chicago, IL, USA
-
- Posts: 6022
- Joined: November 25th, 2003, 8:56 am
- alex-the-cat
- Posts: 291
- Joined: March 12th, 2004, 11:34 am
- Location: Chicago, IL, USA
- laszlo
- Posts: 5225
- Joined: November 4th, 2002, 6:13 pm
- Location: .de
- Contact:
Not that I knew, at least none of the content sink settings. Do you have a specific one in mind?
"I'll be dead after I die. I was dead before I was born. Life is a break from death." - Hlynur, 101 Reykjavík
- Chris Wood
- Posts: 33
- Joined: May 20th, 2004, 3:44 pm
- Location: New Zealand
- Contact:
"Prefetch" command-line option
Cusser wrote:Put the following at the end of the shortcut command line:
/prefetch:1
What does that do?
- Chris Wood
- Posts: 33
- Joined: May 20th, 2004, 3:44 pm
- Location: New Zealand
- Contact:
laszlo wrote:MonkeeSage wrote:network.dnsCacheExpiration: seconds
network.dnsCacheEntries: integer
nsDNSService2.cpp
-
network.ftp.idleConnectionTimeout: seconds
default: 5 minutes (5 * 60)
nsFtpProtocolHandler.cpp
-
network.http.keep-alive.timeout: seconds
network.http.request.max-start-delay: seconds
network.http.connect.timeout: seconds
nsHttpHandler.cpp
Thanks for this. That's one of the purposes of this thread: contributing additional settings, including defaults and pointers to code/documentation, so go on if you know additional ones.
Laszlo, could you add these to the initial post?
And also a link to the above post containing specific optimizations?
-
- Posts: 73
- Joined: February 4th, 2004, 7:08 am
- Contact:
What's the general feeling here about some of these configurations possibly overloading servers? Outside of these forums, these sorts of tweaks appear to be frowned upon. The HTTP RFC recommends no more than 2 simultaneous server connections, otherwise the browser isn't conforming to HTTP standards. On that basis alone, many of the configurations posted here are practically HTTP rape kits. The client gets the gratification but the server suffers. Many web servers will ignore connections above a certain number and may even possibly blacklist the IP address, believing the request for excessive connections to be a DOS attack.
I've had a quick browse through this thread and haven't seen one single mention of the ramifications of these configurations on server loads. Anyone with more knowledge than I care to comment?
I've had a quick browse through this thread and haven't seen one single mention of the ramifications of these configurations on server loads. Anyone with more knowledge than I care to comment?
-
- Posts: 0
- Joined: December 31st, 1969, 5:00 pm
Sonance wrote:What's the general feeling here about some of these configurations possibly overloading servers? Outside of these forums, these sorts of tweaks appear to be frowned upon. The HTTP RFC recommends no more than 2 simultaneous server connections, otherwise the browser isn't conforming to HTTP standards. On that basis alone, many of the configurations posted here are practically HTTP rape kits. The client gets the gratification but the server suffers. Many web servers will ignore connections above a certain number and may even possibly blacklist the IP address, believing the request for excessive connections to be a DOS attack.
I've had a quick browse through this thread and haven't seen one single mention of the ramifications of these configurations on server loads. Anyone with more knowledge than I care to comment?
I'm glad you brought this up. I was in another forum the other day when the settings below were recommended. I'm curious about the same thing. Although these settings make FX really fly on DSL, I would change them to respect standards.
Current:
user_pref("network.http.max-connections", 128);
user_pref("network.http.max-connections-per-server", 48);
user_pref("network.http.max-persistent-connections-per-proxy", 24);
user_pref("network.http.max-persistent-connections-per-server", 12);
Previous:
user_pref("network.http.max-connections", 64);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
Remainder of prefs:
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", true);
user_pref("network.http.pipelining.maxrequests", 96);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);
- BenBasson
- Moderator
- Posts: 13671
- Joined: February 13th, 2004, 5:49 am
- Location: London, UK
- Contact:
Re: "Prefetch" command-line option
Chris Wood wrote:Cusser wrote:Put the following at the end of the shortcut command line:
/prefetch:1
What does that do?
On Windows XP (and maybe NT), it allows for the pre-loading of Firefox.exe, which should result in faster startup times.