Could performance issue be due to RAM?

Status
Not open for further replies.

peter-swe

Dabbler
Joined
Apr 10, 2015
Messages
35
Hi
We are running a FreeNAS-box (8.3.0, yeah its outdated) in our company. 4-5 people are navigating it at once. Opening and saving PSD's, InDesign-files, Illustrator files and they can be quite large. Yeah you get the point. It's shared through AFP and CIFS

raidz1-0 with 4 - 2TB-disks

I'm not sure about the Motherboard, but the cpu is a Core i3-2120 (@3.30 GHz)
12 GB RAM

Now here's my problem.
Sometimes, not all the time, sometimes the system goes very unresponsive. Giving slow read and write speed.
Also almost impossible to navigate through the folders.

When looking at the Report in the web interface i see that the Free Physical memory utilization is down to 40.0M. Could it be so that the solution is more RAM? Or should I look in a different direction?

I'll attach a screenshot:
upload_2015-4-10_10-33-55.png


Thanks,
Peter
 

diehard

Contributor
Joined
Mar 21, 2013
Messages
162
Absolutely, any time you have swap utilization, it can cause performance problems.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
If you're actually running out of memory and having to swap, that will be terrible for performance. ZFS should be releasing ARC memory to avoid this though.

Concurrent access from 4-5 people against a RAIDZ1 volume also won't be fun. As soon as one person tries to write to that, it's going to gobble up all of the available I/O for the disk.

If you can replicate it at all, check the gstat %busy value during a period of poor performance; if your disks are showing high busy percentages then you might need to add more spindles.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
The %busy is a misnomer. It doesn't actually tell you what your % busy of the disk's available I/O or throughput is. It's a % of what it has been the last few seconds or so. So if it's always doing a consistent 8MB/sec and it's an SSD, the %busy will still show 100% because it's running at 100% of what it has been the last few seconds. Likewise, if the same disk has been doing 500MB/sec, the %busy will show 100% because it's still doing 100% of what it has been doing. Now if it was doing 500MB/sec, then suddenly does 8MB/sec, you'll see %busy drop from 100% to 5% or so. Stupid? Absolutely. But there's no way to know what the "peak performance" of a disk is until you've actually hit it.

Anyone in their right mind skips the %busy as it's interpreting data that is never going to be accurate. Look at the iops and throughput and gauge it yourself based on what you know the hard drive's true throughput and iops can be.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
I'm just curious how long this NAS has been in operation and if it's always acted like this. If this the NAS ran perfectly fine before then... This has nothing to do with the swap files area but how full is the NAS? An almost full NAS will cause slowdowns. What is the status of your hard drives, what does "smartctl -a /ada0" and for all your drives show? Something failing? When was the last time you rebooted it?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
My understanding was that %busy represented the time the disk was servicing a pending I/O.

Not according to stuff I've read and comments made by others around these parts.
 

peter-swe

Dabbler
Joined
Apr 10, 2015
Messages
35
Thanks for all the answers!
First of all it hadn't been running for such a long time. 30 days +-5
Since the first post I have updated FreeNAS to the latest version. It's just been two days online and well so far I haven't gotten much complaints from my coworkers.
upload_2015-4-14_17-4-36.png

I've also ordered more RAM(32GB so it will max out the Mobo) and another NIC (went Intel instead of the onboard one)
It should arrive tomorrow I think, so i'm guessing that can't hurt.

Now.
Concurrent access from 4-5 people against a RAIDZ1 volume also won't be fun. As soon as one person tries to write to that, it's going to gobble up all of the available I/O for the disk.
If you can replicate it at all, check the gstat %busy value during a period of poor performance; if your disks are showing high busy percentages then you might need to add more spindles.
Now I'm tossed into this because out of these 5 people I'm the one with most "technical experience" in the group. Now that doesn't make me good at it, so bear with me :)
"Get faster Disks" is what you are saying? The screen below shows the %busy when copying some files.
upload_2015-4-14_16-40-47.png

Now I don't know what kind of disks are in it. But I'm guessing its not 10K's

Let's say there's some pretty good 7200RPM disks in there. And RAIDZ1 is crap for multiple users. Where should I go next?
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Let's say there's some pretty good 7200RPM disks in there. And RAIDZ1 is crap for multiple users. Where should I go next?

Mirrored vdevs, but this would require you to destroy and recreate the pool.
 

peter-swe

Dabbler
Joined
Apr 10, 2015
Messages
35
Thanks for taking time to answer some of my dumb questions.
It's not impossible for me to recreate the pool in the future but first we'll see how far RAM gets me.

Now when you say mirrored vdevs. Would the vdev here be a single HDD?
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Thanks for taking time to answer some of my dumb questions.
It's not impossible for me to recreate the pool in the future but first we'll see how far RAM gets me.

The RAM increase to 32GB should help significantly.

Now when you say mirrored vdevs. Would the vdev here be a single HDD?

Nope, you would put two drives in each vdev (mirrored to each other) and then create multiple vdevs. In your case it would visually be a "2x2" block when you use the GUI to create the pool.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
Since this is data storage for a business you should seriously consider investing in the mirrored vdev approach. Also, do you have a solution to backup all that data to another device, a RAIDZ1 is not the most practical for your environment. Lastly, if you do upgrade, consider your storage capacity. Do you need to increase it?
 

peter-swe

Dabbler
Joined
Apr 10, 2015
Messages
35
Hi, It's backed up each day to a couple of different external drives so it's fine. (1 for each day of the week actually)
Right now we use about 4 TB in total, that should be our limit because we could, and should, Archive older projects.

Now think of me a as total newbie...
I've just set up a Test-NAS in VirtualBox for some trial and error. I've added some virtual drives, 6x2TB.
How should I go on next?
In the new FreeNAS version we have a nifty Wizard. In that I can select:
  • Automatic - Pick reasonable defaults for available drives
  • Virtualization (RAID 10: Good Reliability, Better Performance, Minimum Storage)
  • Backups (RAID Z2: Good Reliability, Medium Performance, Medium Storage)
  • Media (RAID Z1: Medium Reliability, Good Performance, More Storage)
  • Logs (RAID 0: No Reliability, Best Performance, Maximum Storage)
For performance I guess I would go for Virtualization here? Raid 10. But getting Minimum Storage? (~12TB becomes ~6TB)

Or I could go onto unexplored waters for me personally, feel free to stop me (and point me to some light reading) here if I'm saying something stupid.
Go to Volume Manager - Create a Volume containing 2x2, 2x2, 2x2 = ~6TB of Storage (Now this would also be Raid10(?) and excactly like the Wizard, but I made it myself, witch makes me feel important ;) )
upload_2015-4-15_16-10-50.png


But the downside would then be to add more 2 more TB i would have to add 2x2TB disks?
I'm having a little trouble understanding why this would be more efficient than Raid-Z. Could it be cooked down to something simple like, a write/read wouldn't write/read to all the drives? ( Though I doubt it to be simple :) )

Also, the RAM has arrived so I'm just gonna make a new Backup and try to find an opportunity for adding it.

Thanks guys.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
I'm sure there are many locations which explain it but here we go in a nut shell...

A RAIDZ places part of your data across all the drives available so you need all those drives to spin around to either read or write your complete data segment. The Z1, 2 and 3 are the levels of redundancy where you could loose up to this many drives and still have your data in tact.

Mirroring means you have 2, 3, 4, etc... drives which have the same exact data on them. What mirroring brings to the table is of course redundancy against drive failures but more importantly is data can be read quicker because you have say 2 drives, both rotating and whichever drive has your data appear under the drive heads first will make it available quicker. So your data would be available quicker using a pair of mirrored drives but 3 mirrored drives would be quicker than 2, and 4 would be quicker than 3, etc...

Writing your data will generally be quick no matter what setup you have because you will more than likely be limited by your network connection speed. Why you ask, because provided you have a reasonable amount of RAM, your written data will be cached into the RAM and written as soon as the drives are ready. We are talking about maybe a second at the most (likely fractions of a second). With your current system you have tons of RAM and a good CPU, your limiting factor is the hard drive setup to be honest.

If you have 6 SATA ports and could add two more 2TB drives, you could make the mirrored RAID 10 you showed above and it would be faster than what you have now and give you the proper amount of storage. The down side is you will need to ensure you have a very good backup (I'd make 2 copies) before you destroy your pool and then recreate it with six drives. Lastly you would copy all your data back which is actually easy to do via an external USB drive and pretty quick, you just need to do is Import Disk and it will copy all the contents of the USB drive.

Hope this info doesn't cause you more confusion.
 

peter-swe

Dabbler
Joined
Apr 10, 2015
Messages
35
Thanks for the excellent answer!
I've added RAM but haven't planned when to make the transfer to the mirrored RAID10.

For now I think the additional RAM and a new NIC makes it work for us. Haven't got a beating about server time out yet.
But I will go for RAID 10 in the future.

Thanks everyone who helped!

Now a new problem has evolved for me during backups. But i'll post a new thread for that.
Maybe you have some input in that as well.
( Backup freeNAS to Mac using Carbon Copy Cloner: https://forums.freenas.org/index.php?threads/backup-freenas-to-mac-using-ccc.30253/ )
 
Last edited:
Status
Not open for further replies.
Top