Upload & Sell: Off
| p.1 #1 · LR4 Hard disk I/O testing |
We see fairly frequent threads relating to the best arrangement of hard drives for LR performance, but no actual numbers to support peoples suggestions. As i'm just about to upgrade my PC to an i5 (mainly due to LR4 performance issues) i thought it might be an idea to do some testing to hopefully get an idea of how to lay out the disks in the new build.
The test setup is LR 4.1 on a Core 2 E6300 running at 1.86Ghz, 6Gb RAM, Win 7 running off an Intel X25 SSD (C: drive), photos and LR catalogue on a Western Digital 640Gb SATA (H: drive).
The ACR cache is on the C: drive, the catalogue and raw files are on the H: drive. Specfically the raw files are in "H:\temp_cat\incoming raw" and the previews in "H:\temp_cat Previews.lrdata". In order to simplify things i created a new catalogue with 387 RAW files (from a canon 5D) for the tests.
I have 4 tests, hopefully representative of how many of us use LR:
1. Building thumbnail cache
2. Browsing and tagging in the Library module
3. Browsing and tagging in the Develop Module
4. Editing a simple picture in the Develop module
File I/O was monitored using the very funky Process Monitor from Sysinternals.
1. Building preview cache.
The test is as simple as it sounds - i set LR to build previews for all the images in the folder and left for a while to do it.
I've highlighted the interesting bits. We see 4.5Gb of reads from the RAW file directory, along with 1.1Gb of writes to the Previews directory. There is also 760Mb of reads from the Previews directory, which strikes me as a little strange. There are a lot of file I/O operations going on here - 71k reads from the raw directory and 35k writes to the previews directory.
Notice also there is some activity on C drive - 200Mb of writes to the Camera Raw cache and 80Mb to a temp directory. 47k total writes to C: drive, most in the adobe temp directory.
In short, there is a lot of disk I/O reading the raw files and generating the preview cache, along with a significant bit of I/O to a temp directory on C:
2. Browsing and tagging in the Library module
For this i went through the file folder, tagged some pictures as rejected, zoomed and panned around on a lot of them.
As might be expected, the majority of file I/O is from the preview cache. The raw files are still being accessed quite a lot though. And again there is quite a lot of action in the temp directory on C:
3. Browsing and tagging in the Develop module
Basically the same test as above, but in the Develop module. I did this because i tend to tag and edit as i go, and LR4 is noticably slower zooming and panning in the Develop module than in the Library module.
Now the file I/O is split between the RAW files and the preview cache, with more reading of the RAW's. Again notice 18k writes to the adobe temp directory on C:
4. Editing in the Develop module
For this test i took one image and edited it as i would a normal image. So the usual white balance, exposure etc, some minor curves changes and then sharpening and noise reduction. I also did some editing with the local adjustments brush.
Again, both the preview cache and the RAW file are accessed, and you can probably see each individual change reflected in the I/O to the .xmp sidecar file. Notice there was no I/O to the Camera Raw cache on C:, but the adobe temp directory was again used.
It is also interesting to see that the slowest part of the file I/O for this test was actually to the LR catalogue itself.
It should be remembered that file I/O is only one part of the performance equation, and that CPU is not really being tested here. We have all noticed that LR4 is a lot slower than LR3, especially in the develop module where zooming and panning now involves visible re-drawing/re-rendering on the image on my computer. I would expect that this should mostly be a CPU problem, not a disk I/O problem, but there is a lot of file accessing going on during editing so it might well be that the choice of disk and file layouts impacts editing as well as previewing.
So what is the best disk layout for LR4? Well, its obvious that the majority of reads come from the RAW files and the preview cache. Also, for some operations there is a lot of reading from RAW files and writing to cache. Logically, the RAW files and the catalogue/preview cache should then be held on separate disks. The high level of I/O to the adobe temp directory on C drive is odd, and its effect on performance i wouldn't like to guess at.
On the basis of these results i would definitely choose to put the LR catalogue and preview cache on an SSD if available, simply due to the high level of file I/O. In the (likely) event that only one SSD is available, putting the LR cat on it and running windows from a separate spinning disk is probably the fastest choice for LR performance. With a decent SSD though, having both Windows and the LR catalogue on the C Drive together might be the best compromise for most.
For my new PC i will have 2 SSD's, so i will be booting from one SSD, hosting the LR catalogue on a second and holding the RAW files on a traditional spinning disk. I will experiment with holding the RAW files on SSD whilst editing just to see if it makes any difference, but i'm not sure that it will.
As a final thought, i wonder what the point of the Camera Raw cache is?