Closed Bug 506000 Opened 16 years ago Closed 14 years ago

The performance of ff3+ is poor on slow ssds

Categories

(Firefox :: General, defect)

3.0 Branch
x86
Windows XP
defect
Not set
major

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: ram_80, Unassigned)

Details

(Keywords: perf, Whiteboard: [CLOSEME 2011-05-30])

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729) Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729) FF3+ makes many write to the ssd to update its sql lite files for history. Using windows process monitor I can clearly see it makes writes all the time. On slower ssd this causes the browser to freeze be slow. FF2 does not have this problem since it does not keep on writing to disk. Reproducible: Always Steps to Reproduce: 1. Use a slow SSD 2. Browse the web 3. You will see the problem
Seems this behaviour would be operating system and SSD filesystem dependant, depending on write caching (including OS detecting it is an SSD), and SSD tailored filesystems? Anyway, interesting issue for portable firefox that don't use a ramdisk, so going to hang out and watch this one just to see what happens.
How about 3.5?
Version: unspecified → 3.0 Branch
FF2 doesn't use a SQLite database and that caused several bookmark files to disappear. This is basically a wontfix but which database file do you mean ?
ram_80 what happens with v3.5 or current trunk? what PC and model of SSD? this shouldn't be closed so quickly, especially without details. and other "storage" perf issues have been reported (though not all proved to be FF problem)
Keywords: perf
I use an eeepc 900a. I am not sure of the exact ssd model, but it has a 10mb/sec write speed. I have managed to fix the issue with a script. What it does is unzip all the content to a ramdisk. Sets the profile to the ram disk and when firefox is done copies the data back to the hard disk for saving. This of course poses some problems for persistence if the computer were to crash, but other wise ff is unusable. However by keeping everything in ram ff is fast. Here is the script I wrote to fix my issue: //set DEBUG to 1 to debug var DEBUG=1; //WScript.Echo(fso.GetAbsolutePathName(".")); //WScript.Echo(CurrentPath); main(); function main(){ var WshShell = new ActiveXObject("WScript.Shell"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var curpath = fso.GetAbsolutePathName("."); if (!fso.FolderExists("R:\\firefox\\")){ if(fso.FileExists("ram.zip")){ //WScript.Echo("Click When Copy Done"); Unzip7z(WshShell); //WshShell.Run("rename ram.zip ram.zip.bak"); if(DEBUG==1){ WScript.Echo("done unzipping profile"); } } else { WScript.Echo("no profile to unzip"); CreateFFFolder(fso); } } RunBrowser(WshShell); //WScript.Echo("Browser Closed"); Zip7z(WshShell); //fso.DeleteFile("ram.zip.bak"); } function GetProcessName(){ var loc = new ActiveXObject("WbemScripting.SWbemLocator"); var svc = loc.ConnectServer(".", "root\\cimv2"); coll = svc.ExecQuery("select * from Win32_Process WHERE Name='firefox.exe'"); var items = new Enumerator(coll); var i=0; while (!items.atEnd()) { //WScript.Echo(items.item().Name + items.item().ProcessID ); items.moveNext(); i++; } //WScript.Echo(i); return i; } function CreateFFFolder(fso){ var r_drive=fso.GetFolder("R:\\"); var sub_r = r_drive.SubFolders; sub_r.Add("firefox"); } function UnizipNative(curpath){ var objShell = new ActiveXObject("Shell.Application"); var objSourceZip = objShell.NameSpace(curpath + "\\ram.zip"); //WScript.Echo(CurrentPath); var objSource = objSourceZip.Items(); var objTarget = objShell.NameSpace( "R:\\" ); var intOptions = 64; var itemsTarg = objTarget.Items(); //UnZIP the files objTarget.CopyHere(objSource,intOptions); } function Unzip7z(WshShell){ WshShell.Run("7z.exe X ram.zip -or:\\",DEBUG,true); } function Zip7z(WshShell){ zip = WshShell.Run("7z.exe a -tzip ram.zip r:\\firefox\\",DEBUG,true); if(DEBUG==1){ WScript.Echo("Zip status: " + zip); WScript.Echo("done"); } } function RunBrowser(WshShell){ var exit=1; //WScript.Echo("Closed Browser"); var oExec = WshShell.Run("firefox",1,true); while(exit != 0){ //WScript.Echo(oExec); WScript.Sleep(2000); exit = GetProcessName(); // WScript.Echo("Exit: " + exit); } }
Reporter, are you still seeing this issue with Firefox 3.6.10 or later in safe mode? If not, please close. These links can help you in your testing. http://support.mozilla.com/kb/Safe+Mode http://support.mozilla.com/kb/Managing+profiles
Whiteboard: [CLOSEME 2010-11-15]
ram, portable FF 4 beta is http://portableapps.com/apps/internet/firefox_portable/test I suspect ram's comment 5 was with v3.5. (hopefully ram_80 will confirm) but this bug may simply invalid if the SSD simply isn't performing well.
Whiteboard: [CLOSEME 2010-11-15]
I have a same problem here with FF4 beta 7. My system is an EeePC 701 with openSUSE 11.3 and the /home and swap partitions are on a SD card. FF freezes for many seconds (the FF and usb-storage processes are in disk sleep state). I tried the OBS and Mozilla versions, with the same results.
Reporter, are you still seeing this issue with Firefox 4.0.1 or later in safe mode or a fresh profile? If not, please close. These links can help you in your testing. http://support.mozilla.com/kb/Safe+Mode http://support.mozilla.com/kb/Managing+profiles
Whiteboard: [CLOSEME 2011-05-30]
mfeerf, you might also comment on your current situation with FF 4.0.1 or newer. I had attempted to contact ram (reporter) earlier this year but did not receive response. so last update is comment 5.
No reply, INCOMPLETE. Please retest with Firefox 4 or later and a new profile (http://support.mozilla.com/kb/Managing+profiles). Also, ensure you have the most up to date graphics drivers, operating system updates, and plugin versions (flash, java, etc). If you continue to see this issue with the newest Firefox and a new profile, then please comment on this bug.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.