What is Seer, and how to disable it in Firefox
When it comes to performance in regards to displaying a website on a user's computer, many factors play a role. From the user's connection to the browser's rendering engine performance.
Eventually, you will come to a point where the rendering engine cannot get that much faster, which means that you will have to look elsewhere to speed things up further.
There are certain tweaks that developers can integrate in the browser to achieve that, and predicting actions is one of those.
Google Chrome for instance predicts network actions by default to improve page load performance, and another to complete searches and addresses typed in the browser's address bar.
Mozilla enabled Seer in Firefox 29 and all newer versions initially, but had to disable it again after a bug was discovered that caused slow downs for some users of the browser on shut down.
According to Mozilla, Seer is a major component of Necko Predictive Network Actions. Necko has been designed to "improve page load time by performing overhead for connections before the connections are actually needed".
Firefox predicts where you will click next or what you will do next, and begins to process this in advance to speed up the process if you make the predicted move.
It covers DNS lookups, TCP handshakes and TLS handshakes according to the architecture overview on the Mozilla Wiki.
Seer is a major component of Necko. It keeps track of visited urls and urls that were loaded as part of that. So, instead of just storing information about a visit to ghacks.net, it will also store information about components that were loaded during that visit, for instance about the stylesheet that was loaded from a content distribution network, or scripts.
The next time the same site is visited, Firefox knows in advance what needs to be loaded which will reduce overhead as the browser "knows" already which resources need to be accessed.
Necko pre-connects only but does not prefetch which means that no connection to the actual linked resource is made until the user clicks on a link pointing to it.
Pre-connections are disabled for https websites, and private browsing is honored by the feature as well.
The information were stored in the local file seer.sqlite initially but Mozilla renamed that to netpredictions.sqlite as it felt that seer was not the most appropriate name for it as it might convey the wrong image.
Seer improves the page load time in Firefox when enabled, but only if you access resources that it has stored in its database. If you use the browser in a different way, it won't be of help.
The main issue that some users may have with it is that it consumes quite a bit of storage space on the local hard drive.
On a Windows 7 Pro test system, the sqlite database had a size of 135 Megabyte, and the maximum is set to 150 Megabyte which seems a lot.
You can modify that though to limit or even increase the size of the database:
- Type about:config into Firefox's address bar and hit enter.
- Confirm you will be careful if a warning screen comes up.
- Type network.seer.max-db-size and double-click the value afterwards.
- Note that the value is listed in bytes, with 157286400 being 150 Megabyte.
- Some common values are: 20MB--> 20971520, 50MB --> 52428800, and 100MB --> 104857600
This will reduce the size of the file on your system.
Seer is not enabled by default in all recent versions of Firefox, but Mozilla will enable it eventually again once the issue is resolved.
To disable Seer when that happens, do the following while the about:config page is loaded:
- Search for network.seer.enabled.
- Double-click the entry to set its value to false. This disables it in Firefox.
It you search for network.seer, you will find additional parameters that you can experiment with, for instance to enable the feature when you hover over SSL links, or page and subresource degradation values.
Thanks for that. As usual, this looks like an exciting tweak to try and it is easily reversible
Does this predictive network seer also retain information after session has expired when you are not in private mode?…It sounds as though needs to be set In same way browser can be set to clear cookies and history on exit of session
I just checked and deleted the browsing history: the netpredicions.sqlite file remained the same size.
Deleting it manually works though (when Firefox is not running), it will be recreated on next start.
An add-on for that would be nice.
I’d prefer if Mozilla would integrate it in the clear browsing history menu.
The size of the database is not relevant. After clearing the history the table moz_pages in the database netpredictions.sqlite is empty as you can see with a tool like SQLite Manager.
On the topic of DNS and prefetch, this extension works quite well. â†“â†“â†“
It may make use of ‘Seer’.
Many thanks Martin for this article i did not know about this in Firefox, went into confix and found seer was disabled, i set it to true and also set max-db-size to 20971520 ( 20 MB ) down from 150MB as i am on a ten year old Dell desktop i will see what happens.
150 MB seems like overkill in my opinion, especially if there is no option to reduce the size of the database manually, for instance by clearing the browsing history.
Always appreciate the information, but I discovered something the other day–another Martin mentionable. I installed Opera 22, developer. Amazing speed and responsiveness with a layout that is remarkably useful. No more need for killing spinners, tweak network, disconnect, return to custom, etc.
Different builds of FF that claim to be faster and optimized don’t really help–cyberfox, palemoon, etc.
I did notice that Mint LXDE is a sweet OS and the Firefox used as default in the distro is fast–quite different than the FF for Windows.
So maybe the problem is Windows? Only a theoretical musing or perhaps an example of the “observer effect.”
FF in linux mint is surely not behind an antivirus analyzing the internet traffic.
Have you try to unable all plugins in Windows?. Last time I were in a Firefox in Windows it had activated more than 5 plugins which made it slower
Definitely starts up faster. And if you enable accessibility.delay_plugins in about:config, you don’t even need to go without them.
Literally while I was reading this article I got a FF update notice, and one of the ‘fixes’ was defaulting seer enabling to “False”. 150MB remained though.
If running five or more plugins is slowing you down, then for you it may be a mix of hardware and software issues. When I was only running Windows XP32 bit with 4G (only 3.5 was used) RAM, running 9 plugins was about max it could handle before the browser boot up sequence began to noticeably fall behind. When I upgraded to Windows 7-64b and a 16G system I currently run 30+ plugins / extensions and hardly notice any lag. Later I upgraded to Nightly (64b), and any lag disappeared. So more memory… great… running 64b browsers, even better.
Or maybe it’s just you? Firefox is very fast and works perfectly fine on Windows for me.
Right, that’s the “observer effect.”
I just turned Seer on, and reduced the database to 50 then 20 megabytes to see if there is any difference after surfing to several pages > closing the browser, then open and visit those pages again. It seemed faster and it was noticeably faster, on shut down I didn’t notice any problems and it seemed to even shut down faster. I guess I’m not one of the unlucky ones who got shut down problem so they disabled the plugin by default.
Thanks for the heads-up Martin.
Thanks for another good posting.
It sure would be nice if Mozilla had posted up a page on what all those seer settings do. max-queue-size? degradation? preserve? confidence? confidence??! I think we can set that one to zero. :)
I goog’d the heck out of seer & netpredictions; nada. But in all those returns I spotted more than one on the “FireFox 29 not shutting down” issue I’m having. Glad I’m not suffering alone.
what’s the privacy implications of this? I’m guessing minimial since no actual connection is made? The only negative being the use of disk space?
Generally I try to avoid data piling up on my system from my activities, just because I rarely see a benefit from it. I wonder how “effective” seer is at speeding things up.
Hi Martin, it would be nice if you have an article that summarizes the various security config tweaks for the browsers and update as new ones come along. This would make it simpler for some of us as a one stop reference source.
Come to think of it, one for operating systems would be nice too.
Dante let me think about it..
yes please !
would love to have a ‘one stop reference source’ for all the imp tweaks
Martin, do give it a shot
Here you go: https://www.ghacks.net/overview-firefox-aboutconfig-security-privacy-preferences/