This article needs a technical review. How you can help.
Gathering a trace
-
Install xperf by checking the relevant option in microsoft platform SDK installer.
Do not use a virtual machine for testing.Put the following into a batch file:
xperf -on FILE_IO_INIT+FILE_IO+DISK_IO+latency pause xperf -d foo.etl xperf foo.etl
-
Delete all files in c:\Windows\Prefetch to make sure prefetch is not changing your results (optionally you want to observe effects of prefetch).
-
Reboot (apparently CacheSet tool can be used to flush caches).
-
Run above .bat with admin privs.
-
Start Firefox.
-
Go back to the .bat console and hit enter, then hit yes to view the result unprivileged.
-
Use 'save as' to make a copy for future analysis.
Viewing a trace
-
Scroll down to the "File I/O" section.
-
Right click, then select 'view summary'.
-
Organize your columns to be as follows:
Process, Event Type, File name, <divider>, Duration, Size
-
Sort by duration.
-
Look for large amounts of IO (in bytes, or number of files accessed), and small amounts of IO that take a long time (a sign of inefficient IO pattern, fragmentation, etc.)