cache/memory utilization question

Status
Not open for further replies.
S

scotch_tape

Guest
OP deleted original question...
 
Last edited by a moderator:

eraser

Contributor
Joined
Jan 4, 2013
Messages
147
I assume that you are using the ZFS file system on your server (not UFS).

The "Cache" entry on the graph does not represent the ZFS ARC Cache. If you run "top" from a command prompt you should be able to see the size of your ARC on line 5.

Other ways to examine the ARC from a command prompt are:

arcstat.py - real time ARC stats
arc_summary.py - ARC stats since the system started.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
ZFS manages it's cache size based on what other things in RAM are being used, historical usage, as well as using RAM only if it thinks there's a benefit(usually it'll eat all it can though). "Free" doesn't really mean free as in nothing is stored there. So don't be fooled by those numbers.

You made no mention as to your hardware used, if you are using Gb or 10Gb. But if you are using reasonable hardware for FreeNAS with Gb LAN, you're bottleneck is going to be your LAN. So don't fret this unless you can actually provide numbers that your pool is too slow for your LAN. I'm willing to bet money that's not your problem because virtually any system made in the last 6 years that supports 16GB of RAM has a CPU that is powerful enough to saturate Gb LAN or your CPU is so slow your RAM isn't going to help.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
I am contemplating an upgrade from 16gb RAM to 32gb, and trying to determine what the cache usage is, and if it would benefit from the extra RAM. It would be nice if the devs put cache usage in the performance graphs.

That's what ticket 1556 is.

scotch_tape: If you are getting 80MB/sec+ when moving large files to or from the server and CPU usage is low you aren't going to see much of a benefit for most "home use" scenarios.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
So can you post your hardware and what you use the server for?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
Ok.. can you provide part numbers? There's plenty of Supermicro boards I'd never recommend.. ;)
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
Are you using encryption or compression?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
Can you elaborate on what you mean when you say "multiplex a 40GB file"? Cause I've built multiplexers before, and I'm really not understanding what you are trying to explain.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
Ahh. Ok. So is the 400Mbit/sec coming from watching your network load when doing this video work?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,525
Well, there's a lot of things going on when you are doing that work, many of them won't be limited by your zpool itself. For example:

The processing time needed to accomplish the job. Despite the fact that the task may not be CPU intensive, that added latency as the streams are multiplexed means that while the multiplexing is happening you likely have little to no transfer rate over the LAN. This is likely for a few ms at a time, so unless you go down to that level of resolution you probably can't even see this behavior.

The pool has latency while attempting to read and then write. It can't always do the reading, and it can't always do the writing, so some happy medium has to be found. ZFS takes turns reading, then writing. If ZFS needs to do some writes and your workstation is waiting for reads, that's lost time.

The whole data path between the CPU on your workstation and the actual bits on your zpool is filled with latency. Not much in your eyes and my eyes. But when you request a block of data(regardless of the size) and it takes 3-10ms to retrieve that information(which is about what I'd expect for ideal circumstances) that means you can only retrieve 10-30 blocks of data in a second. That's not very much even if each block is 1MB.

I've ripped audio streams out of my movies before for languages I don't speak. Despite the fact that I can copy the file from my server to local storage in less than 20 seconds, multiplexing the exact same file over the network takes several minutes. So I'd say that what you are seeing is completely normal for your workload. If you have money to blow and you do this as a full-time job, you might want to look into spending money on RAM. After all, time *is* money. But I wouldn't necessarily expect to see your multiplexing drop from 5 minutes to 2 minutes or less by adding more RAM.

If time is money, you may find satisfaction in copying the file locally to an SSD, doing the transcoding and then copying the file back to the server. Or something similar.

The problem isn't with the pool or it's performance, its with the "whole picture"(pun not intended).


I'm not sure what your use-case is for what you do or what program you use. I use mkvtoolnix. It actually has a FreeBSD version that you can absolutely run in a FreeBSD jail. If you are savvy with the CLI and are okay with writing out 100+ character command line arguments you can probably do some seriously fast multiplexing. I've thought about creating a script and putting it on the forums that would automatically strip out languages that aren't some predetermined language. But, when I look at the complexity of it, and the amount of time it would take to do, it's really not worth my time as a volunteer. When I looked at it before I was thinking of a script that was somewhat user configurable yet simple. I guesstimated it would take me something like 3-5 days to put the whole thing together, test it to it's limits, then put it out there. But crowd-sourcing isn't exactly something this community is good at. ;)
 
Status
Not open for further replies.
Top