Hardware: Disk Performance Compared

I just getting to where I can use my new computer for most of my daily tasks. I am still researching what aspects of the new computer most affect Second Life™ viewer performance. One of the more effective things one can do is look at data storage speed. Here is what I find.

RAM Disk Performance - New Computer

RAM Disk Performance – New Computer

I used Crystal Disk Mark to measure storage performance on both the opld and new machines.

RAM Drive

The above image is the benchmark for my RAM Disk in the new computer. I purchased DataRAM’s RAMDisk software. I devoted 5GB of my 32GB of RAM to a RAM Drive.

It automatically writes the contents of this drive to my Western Digital hard drive at power down. At startup it inserts the data back into the RAM Disk. 

I can basically forget about it. It does slow down computer startup and shut down. But, overall everything is so much faster on the new machine, I don’t notice.

What the program is doing is reserving 5 GB of RAM and using it as a hard disk.

Doing this allows my data to flow through the Double Data Rate (DDR) channels. You can see it moves a massive amount of data per second. Reading and writing at 1.6 to 14.3GB/s. Awesome.

SSD

M.2 SSD Performance - New COmputer

M.2 SSD Performance – New Computer

I got a deal on a M.2 SSD (Solid State Drive). This are just like the USB memory disks or thumb drives we use. They are a storage device that uses memory chips in place of spinning disks. They are way faster than mechanical spinning disks. You can see the numbers I got.

The M.2 type SSD avoid using the SATA interface. The SATA interface was designed for mechanical disks. It has limits.

The latest generation of SATA improved through put from 3Gb/s (the case of the ‘b’ makes a difference) to 6Gb/s. But, the M.2 interface allows the device to connect directly into the ePCI bus. It is way faster than the SATA interface.

But, there are a load of gotcha’s when changing to SSD. I plan to write a whole article just on SSD’s and how to get the fastest performance from SSD.

 

Standard Hard Disk

HD Performance - New Computer

HD Performance – New Computer

I have two mechanical hard drives in my new computer. A 2TB Hitachi and a 1TB Western Digital. Below are the results from my 1TB WD drive.

Obviously this is the slowest storage device I have. Well, I’m not counting UBS drives.

This drive is connected via a SATA 6GB interface.

Old Hitachi - New Computer

Old Hitachi – New Computer

The Hitachi is an older drive from the 3GB/s era. I moved it from my old computer to the new computer. It is hooked into the 6G/s interface.

It provides about 67% of the performance of the newer WD drive.

We can see that interface and drive combine to give different levels of performance.

 

Older Computer

WD HD - Old Computer

WD HD – Old Computer

I can’t test the SSD or a RAM disk on my old computer. The old computer has no M.2 interface. It is also limited to 8GB of RAM. The motherboard just won’t support more than that.

So, I had to survive on mechanical hard drives for the life of that computer, which has been years.

You can see I was getting about 20% of the performance I get in the new computer.

SL Performance

If you wonder how these levels of performance affect viewer performance, I can help.

I have viewers installed in the WD C:\ mechanical drive. I have other plans for my SSD. I have tried caches in the WD, the SSD, and the RAM disk. The changes have almost no effect on Frames per Second (FPS). It is so small I can’t measure it with any certainty.

Where I see a big different is in the time needed to render a scene. In this case I am using render to mean the time it takes for everything in my (avatar’s) field of viewer to fully rez and texture. With the old computer it could take minutes. With the new computer it takes seconds.

When I use the Ram Disk the scene renders almost instantly. Way fast. Items come out of the cache and it’s like having a cache.

When I use the SSD for the cache it is still way fast. I can notice it taking a couple of sends. Blink a couple of times and its done.

The cache on the mechanical drive is of course the slowest to render the scene. But, I’m only seeing it slow to a few seconds. Going into a new region I do see textures lag a bit. Returning home, I see some texture lag too. But, the scene is fully rendered in 5 to 30 seconds. My home tends to take 5 to 8 seconds using the slow cache. It’s almost instant, <1 to 2 seconds, using the RAM disk.

This makes it clear scene render time is way sensitive to storage speed. Storage speed has minimal effect on FPS.

By putting the viewer program on faster storage the viewer would load faster. But, the few seconds that saves isn’t worth it, at least to me. From the 150MB/s drive I make it from launch to login in about 5 to 8 seconds, depending on what all I have running. Cutting that to 2 to 4 seconds… not worth much effort.

However, loading my Adobe tools that still take 30 to 40+ seconds to load is worth some effort. I plan to move those to my SSD.

Note: Hardware

Firestorm 4.7.9 (50527) Aug 4 2016 11:59:10 (Firestorm-Releasex64) with OpenSimulator support
Release Notes

You are at 169.4, 5.7, 36.3 in sim10300.agni.lindenlab.com (216.82.50.22:13004)
Second Life Server 16.08.31.319299

CPU: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz (3503.99 MHz) OC @ 4.1GHz
Memory: 32684 MB
OS Version: Microsoft Windows 10 64-bit (Build 14393)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTX 1060 6GB/PCIe/SSE2

Windows Graphics Driver Version: 21.21.0013.7270
OpenGL Version: 4.5.0 NVIDIA 372.70

RestrainedLove API: RLV v3.1.4 / RLVa v2.0.3.50527
libcurl Version: libcurl/7.47.0 OpenSSL/1.0.1i zlib/1.2.8
J2C Decoder Version: KDU v7.8
Audio Driver Version: FMOD Ex 4.44.61
LLCEFLib/CEF Version: 1.5.3.FS6-(CEF-WIN-3.2526.1366.g8617e7c-32) (Chrome 47.0.2526.80)
Voice Server Version: Not Connected
UI Scaling: 1
Draw distance: 128 m
Bandwidth: 1500 kbit/s
LOD factor: 1.5
Render quality: High-Ultra (6/7)
Advanced Lighting Model: Yes
Texture memory: 2048 MB (1)
VFS (cache) creation time (UTC): 2016-9-14T20:45:47
Built with MSVC version 1800
Packets Lost: 0/46,409 (0.0%)

 

12 thoughts on “Hardware: Disk Performance Compared

  1. Note on M2 ssd, most are not faster the sata ssd. Only if you spend much more then what as example samsung 850 evo sata ssd you can get a speed boost. Not i not use M2. it’s the extra price not worth right now.

    • I thought that too. But, the SATA interface is the bottleneck limiting transfer to a theoretical 3Gbps or 6Gb/s. 3Gbps = 375MBps, 6Gb/s = 750MB/s – for those following along: gigabits to megabytes (1Gb is 1024Mb is 128MB).

      Because of advertising hype the numbers used for ‘rated’ transfer rates and ‘actual’ data transfer rates is needlessly complicated. What we are not generally told is the transfer rates are a measure of every bit moving through the interface. That includes the command instructions, 8/10 encoding, and error checking overhead. So, a 3Gbps rate works out to 300MBps of usable data. In actual use a fully loaded SATA II 3Gbps channel carries about 225MBps of usable data as commands and encoding take time. A number of cheap SSD’s are rated faster than that. The 6Gb/s SATA III channels work out to 515MB/s. That is faster than cheap SSD’s and faster than my M.2 device on ePCI.

      Crucial has a 275GB MX300 PCIe M.2 SSD for US$73 rated at 530 MB/s Sequential Read Speed. Not expensive and it way exceeds the SATA II limit and by a tiny bit the SATA III 6Gb/s limit.

      We are just at the price break over point where M.2 drives are becoming worth the money. So, while you are mostly correct, things are changing quickly.

      There are so many additional complications with M.2 use and allocating the ePCI bus many people are likely to be disappointed with the result.

  2. Pingback: Hardware: Data Storage – What is the Best Buy? | Nalates' Things & StuffNalates’ Things & Stuff

  3. How were you able to force a setting of 2048 for texture memory? I have only seen one version of the FS viewer that let you choose above the maximum which at that time was 512. All other versions will not let you set beyond 1024 even in Debug Settings which reverts back to 1024. Are you editing an xml file? If you partition your older hard drive and make the first partition smaller it will get better performance. That is where I would capture my videos even on a 7200 rpm drive.

    • Wow… I had not noticed. I did not set that value. FS did that by itself.

      I just looked in Preferences and the setting for Texture Memory Buffer is max’d at 2048. The slider was far right and labeled 2048.

      • That’s odd since I have a 3gb video card. Even if I increase it in debug settings it is not confirmed in the texture console. Slider max is 1024. Was your viewer compiled personally?

        CPU: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz (2672.75 MHz)
        Memory: 11256 MB
        OS Version: Microsoft Windows 7 SP1 64-bit (Build 7601)
        Graphics Card Vendor: NVIDIA Corporation
        Graphics Card: GeForce GTX 780/PCIe/SSE2

        Windows Graphics Driver Version: 21.21.0013.7254
        OpenGL Version: 4.5.0 NVIDIA 372.54

        RestrainedLove API: (disabled)
        libcurl Version: libcurl/7.47.0 OpenSSL/1.0.1i zlib/1.2.8
        J2C Decoder Version: KDU v7.8
        Audio Driver Version: FMOD Ex 4.44.61
        LLCEFLib/CEF Version: 1.5.3.FS6-(CEF-WIN-3.2526.1366.g8617e7c-32) (Chrome 47.0.2526.80)
        Voice Server Version: Not Connected
        Settings mode: Firestorm
        Viewer Skin: Firestorm (Grey)
        Font Used: Deja Vu (96 dpi)
        Font Size Adjustment: 0 pt
        UI Scaling: 1
        Draw distance: 128 m
        Bandwidth: 1500 kbit/s
        LOD factor: 4
        Render quality: High-Ultra (6/7)
        Advanced Lighting Model: No
        Texture memory: 1024 MB (1)
        VFS (cache) creation time (UTC): 2016-9-20T18:22:26
        Built with MSVC version 1800
        Packets Lost: 5/6,333 (0.1%)

        • No, this is the stock 4.7.9 version. The GTX 1060 has 6GB of video RAM.

          I suspect there is an XML file and some built in code to decide what the max value is. Look on the FS web page for team members building the viewer and ask one of them if a user can change the value.

          • The gpu table text file apparently is no longer used. There is some mention of a benchmarking feature replacing it. So when you install the viewer determines how much your max limit should be for texture memory (1/3)? Do you know what file replaced the old one?

            • The point of the upgrade was to remove the GPU table files, which were a labor intense problem and nearly always out of date. Searching a recent install of SL on my new computer I don’t find any file named ‘gpu’ anything.

  4. I discussed that with them in the past and didn’t get a beneficial reply so as you say I assume the viewer is giving you a percentage of what your Vram is so 25% of 8gb=2gb max. In my case I have 3 gb so 33% is the max. If you enter 4096 in the debug setting I assume it will still only give you 2 gb in the texture console? I should see if I can trick the viewer into thinking I have 8 gb of Vram or that I have a GTX 1060. The version years ago that allowed any amount to be input was a “mistake” I was told.

  5. Pingback: Hardware: New Intel SSD’s | Nalates' Things & StuffNalates’ Things & Stuff

Leave a Reply

Your email address will not be published.