Closed Bug 628597 Opened 13 years ago Closed 12 years ago

Poor performance on SSD's due to many random 4kb writes

Categories

(Core :: Networking: File, defect)

x86_64
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: lete4.0, Unassigned)

References

Details

(Keywords: qawanted)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100403 Firefox/3.6.3 (Palemoon/3.6.3)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100403 Firefox/3.6.3 (Palemoon/3.6.3)

I am using a western digital SSC-D0064SC-2100 solid state drive in both my desktop and laptop. The only program I frequently have issues with is firefox. Both the current beta and the current stable release. Firefox has poor SSD compatibility due to it's frequent random ~4kb writes. These random writes cause lag/stutter during all common web activities including typing, watching flash videos, and scrolling. I was able to fix this problem by installing a program called flashfire which puts the 4kb blocks into a 32mb ram buffer, then transfers everything to the SSD as 64k files. If you could implement this type of structure into firefox directly. Your new version would be more compatible with today's emerging technologies. 

Reproducible: Always

Steps to Reproduce:
On a system with running off an SSD with poor 4kb write speeds, such as SSC-D0064SC-210 and many others.
1. Watch a youtube video 
2. Scroll
3. Type
Actual Results:  
Frequent 1-1.5 second lag.

Expected Results:  
Buffered file writes and transfered data in larger blocks to avoid the slow write speeds of small random blocks in SSD's.
Component: General → Networking: File
Product: Firefox → Core
QA Contact: general → networking.file
Necko uses 32KB buffers by default in Firefox 4; see bug 545334.  

Is this just a duplicate of that bug?  Or do you still see the issue with Firefox 4 betas?
Oh, and just to be clear in Firefox 3.6 the necko buffer size was in fact 4KB.
(In reply to comment #1)
> Necko uses 32KB buffers by default in Firefox 4; see bug 545334.  
> 
> Is this just a duplicate of that bug?  Or do you still see the issue with
> Firefox 4 betas?

This problem still occurs in Firefox 4 betas.
OK.  In that case, we probably need to figure out where these writes are actually happening....  Certainly typing shouldn't even _involve_ disk writes, except for session store, and that uses a 32KB buffer.
Keywords: qawanted
I'm not sure how to determine that. I can see the HDD access indicator flash while Firefox is hosed, but I've changed the session store interval and the lag still happens sporadically at the same frequency.
That's useful data; so something else is writing to disk there.

I'm not sure you have a good way of debugging this on your end, unless you want to build a debug build, etc.  We need someone on our end to look at this and see if we can reproduce....
I'm having trouble reproducing the problem on beta 4.10. I'm not sure which beta version I was using on my desktop. I'll be able to check tomorrow night, but the problem may be solved.
Is the problem solved?
Did you try with Safe Mode? Maybe there is an extension writing on the disk.
Resolving based on Comment 7 and no activity for one year
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INCOMPLETE
I'm experiencing a lot of hangs with my netbook with a SSD. I'll try to understand if the issue is the same and, in case, reopen this bug.
I planned to make separate bug with procmon logs, showing that Firefox uses a lot of small (1k and smaller) writes which is bad practice for SSD. Also, current buffer size of 32k is also not best solution, SSDs have 512k internal block size, so each 32k write may result in 512k rewrite shortening SSD life
(In reply to Phoenix from comment #11)
> I planned to make separate bug with procmon logs, showing that Firefox uses
> a lot of small (1k and smaller) writes which is bad practice for SSD. Also,
> current buffer size of 32k is also not best solution, SSDs have 512k
> internal block size, so each 32k write may result in 512k rewrite shortening
> SSD life

When you'll file that bug, please let it block this one.
Depends on: 727409
You need to log in before you can comment on or make changes to this bug.