Looking to improve 70MB/s read speed over SMB/CIFS

Status
Not open for further replies.

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Interesting read. I don't think you converted me though.

Matlach's stubbornness really is, for the most part, pretty computer-industry-wide. Hard drive manufacturer's really are the only ones that have forcefully differentiated between the MB and Mibibyte. For the most part, all of the bibytes are being completely ignored because the industry has used 1024 everywhere, except for hard drives, since computers were first made. Trying to change the standard is like trying to stop a semi going 65 mph. Sure it can be done, but it takes alot of energy and there isn't really any positive benefit except to those people that want 1000 to equal K. For computer admins, there is no benefit, at all. They know that in their world(except for hard drives) a KB is 1024 bytes.

The real problem, and why I don't expect this problem to ever work itself out, is that there really is no visible difference aside from some "missing" free space.
 

Stephens

Patron
Joined
Jun 19, 2012
Messages
496
I'm convinced. KiB = 1024 and KB = 1000. I'm always in favor of calling things by the correct name. Will I be able to reverse over 30 years personally of referring to 1024 as "KB"? Beats me, but I'll try. Will I be able to get the rest of the industry to get on board so we're all using the same terms? Probably not. But for me, that's neither here nor there. IMO, first you determine the right thing, then you figure out how to get there. The fact that it's potentially confusing for other people is just a reminder to myself to alleviate yet another confusion because as has already been pointed out, it's been confusing forever. It isn't starting with KiB vs KB. With KB there was always, "Big B or little B?" Even if a person types a big B or little b, we often ask unless the context makes it clear. Because even if you know, you can never quite be sure the other guy does -- or is putting it into practice correctly. And that's with agreement that big B is bytes and little b is bits. If it's important and not obvious from context, you clarify. If I say I have 512MB RAM, I'll be OK, even though it's really 512MiB. But if I remember, I'll say 512MiB because that's the correct notation. It's not about what we commonly infer from notation in different contexts, it's about what the notation really means.

I just voted this morning, so I'm feeling all philosophical and optimistic! ;)
 

palmboy5

Explorer
Joined
May 28, 2012
Messages
60
Interesting read. I don't think you converted me though.

Matlach's stubbornness really is, for the most part, pretty computer-industry-wide. Hard drive manufacturer's really are the only ones that have forcefully differentiated between the MB and Mibibyte. For the most part, all of the bibytes are being completely ignored because the industry has used 1024 everywhere, except for hard drives, since computers were first made. Trying to change the standard is like trying to stop a semi going 65 mph. Sure it can be done, but it takes alot of energy and there isn't really any positive benefit except to those people that want 1000 to equal K. For computer admins, there is no benefit, at all. They know that in their world(except for hard drives) a KB is 1024 bytes.

The real problem, and why I don't expect this problem to ever work itself out, is that there really is no visible difference aside from some "missing" free space.
I propose this: If when you say KB (and others) and you know you mean 1024, how about add the 'i' in the middle?
That's really all anyone has to do in order to do their part to begin slowing down that semi. ;)
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I propose this: If when you say KB (and others) and you know you mean 1024, how about add the 'i' in the middle?
That's really all anyone has to do in order to do their part to begin slowing down that semi. ;)

So what you're saying is that since the hard drive manufacturers got their way I should turn over a new leaf and let them be "right" because then they're happy that they can fool you into buying a smaller hard drive than you thought? Fat chance. :) Quite honestly, KiB, MiB, and GiB are not in my vocabulary and won't be until they hard drive companies are willing to provide monetary funds to offset all of the conversions needed across the plant for the IT industry to fix it. Aww, they don't want to spend money to fix the mess they've created by inventing "KiB, MiB, and TiB"? The hard drive manufacturers created this mess, and until they're going to take responsibility for fixing it, I'm out.

In my view, the semi was running just fine until the hard drive manufacturers wanted to change the definition to match their definition. You break it, you buy it. The hard drive manufacturers could have just as easily made the decision years ago to change their hard drive definitions to make a KB 1024, just like the rest of the IT industry. But they didn't. I was happy to get something like 20 checks in the mail from Seagate a few years ago because they lost a class action lawsuit over what the "GB" was. THAT'S what triggered the changes and the push for "KiB, MiB, and TiB".
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
So what you're saying is that since the hard drive manufacturers got their way I should turn over a new leaf and let them be "right" because then they're happy that they can fool you into buying a smaller hard drive than you thought? Fat chance. :) Quite honestly, KiB, MiB, and GiB are not in my vocabulary and won't be until they hard drive companies are willing to provide monetary funds to offset all of the conversions needed across the plant for the IT industry to fix it. Aww, they don't want to spend money to fix the mess they've created by inventing "KiB, MiB, and TiB"? The hard drive manufacturers created this mess, and until they're going to take responsibility for fixing it, I'm out.

In my view, the semi was running just fine until the hard drive manufacturers wanted to change the definition to match their definition. You break it, you buy it. The hard drive manufacturers could have just as easily made the decision years ago to change their hard drive definitions to make a KB 1024, just like the rest of the IT industry. But they didn't. I was happy to get something like 20 checks in the mail from Seagate a few years ago because they lost a class action lawsuit over what the "GB" was. THAT'S what triggered the changes and the push for "KiB, MiB, and TiB".

I would have been OK, if they introduced a new KiB standard, and called the 1000-base standard Kib, and kept the traditional 2^10 (1024) as KB. I probably just wouldn't have used it.

The fact that they took the existing 2^10 standard, and changed it from KB to KiB, and then introduced a new and different 1000 base KB, just drives me nuts.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I would have been OK, if they introduced a new KiB standard, and called the 1000-base standard Kib, and kept the traditional 2^10 (1024) as KB. I probably just wouldn't have used it.

The fact that they took the existing 2^10 standard, and changed it from KB to KiB, and then introduced a new and different 1000 base KB, just drives me nuts.

DING DING DING! YOU WIN! That's exactly my view. I would have adopted that standard with no questions asked.

Also, I see alot of people use Kb and KB interchangeably. It has always been an industry standard that 'b = bit' and 'B = byte". Yet alot of people claim 512Mb of RAM, which I'm sure the really mean MB. What I really hate are the morons that post in forums that their 1000-baseT NIC won't do 1000MB per second. Excuse me, what!? What really scares me is that people like that are employed when I'm not!

One thing I really enjoyed when I looked at a forum post on the FreeBSD forums was someone used a bunch of bad acronyms and stuff was written as "kb" and "freebsd" and "nic". One of the admins cleaned up his post to "KB" and "FreeBSD" and "NIC". I think the admin retyped every 3rd word. I thought that was great because I really like to see people using the proper acronyms for the situation with proper capitalization where necessary. I'm not a grammar nazi, but I always write "FreeBSD" over freebsd. Apparently the FreeBSD forum rules say to use proper capitalization to avoid confusion and error.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
DING DING DING! YOU WIN! That's exactly my view. I would have adopted that standard with no questions asked.

Also, I see alot of people use Kb and KB interchangeably. It has always been an industry standard that 'b = bit' and 'B = byte". Yet alot of people claim 512Mb of RAM, which I'm sure the really mean MB. What I really hate are the morons that post in forums that their 1000-baseT NIC won't do 1000MB per second. Excuse me, what!? What really scares me is that people like that are employed when I'm not!

One thing I really enjoyed when I looked at a forum post on the FreeBSD forums was someone used a bunch of bad acronyms and stuff was written as "kb" and "freebsd" and "nic". One of the admins cleaned up his post to "KB" and "FreeBSD" and "NIC". I think the admin retyped every 3rd word. I thought that was great because I really like to see people using the proper acronyms for the situation with proper capitalization where necessary. I'm not a grammar nazi, but I always write "FreeBSD" over freebsd. Apparently the FreeBSD forum rules say to use proper capitalization to avoid confusion and error.

I agree there too.

At least these days its an easy divide by 8 conversion to go from bits to Bytes, not like back in the modem days when you had to deal with stop bits and parity bits. Eventually it seems to have stabilized around 8-n-1 (8 data bits, no parity bit, 1 stop bit) which made it a little easier, to just divide by 9 for modem speeds.

The main difference is that in the past, only people who knew and cared about computers owned computers.

Now EVERYONE owns computers, and most don't care about the intricacies and just want them to work.

I kind of like the old days from that perspective, but at the same times a lot of the benefits of the modern internet wouldn't be possible without a massive consumer presence.
 

palmboy5

Explorer
Joined
May 28, 2012
Messages
60
Mix reply to noobsauce80 and mattlach,

You don't need to "let" hard drive manufacturers be right, they ARE right. You don't hijack a base-10 standard and use it for base-2 just because it was the most convenient thing to do. You especially should not be perpetuating the problem even after being educated what is right and wrong, just to stay "traditional". A bad tradition is a bad tradition.

If you want to talk about using what is "traditional", the base-10 standard has been used as a base-10 standard since before computers even existed. Using base-10 on the base-10 standard out-traditions your desire to use base-2 on the base-10 standard. Hard drive manufacturers are not "fooling" you, and that's not just because you're aware of the "different" counting scheme they use. You get what they say you get, in the same counting standard used for distance, temperature, volume, mass, and EVERYTHING ELSE. Why should they "fix the mess they've created" when it isn't their mess? No no, the mess exists with anyone/anything that says kilobytes when they mean kibibytes. This isn't a popularity contest, there is a clear and logical right and wrong.

I'll end with saying, the software this forum was created for, disagrees with you.

EDIT: What if hard drive manufacturers weren't the ones that pushed to fix the industry? What if the existing base-2 standard was written without anyone's help? Try and see past your apparent hatred for hard drive manufacturers and reevaluate what you're pushing for.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
This isn't a popularity contest, there is a clear and logical right and wrong.

Exactly. There is an objective right and wrong. A 2^10 binary system makes sense for anything computing. A 10 base system does not. It does not matter what precedent prior to computing called kilo.


I'll end with saying, the software this forum was created for, disagrees with you.

It does? That's news to me.

Last time I checked my RAIDz2 volume (4 WD greens labeled 3TB + 2 WD Greens labeled 2TB) is represented as 7.1TB available space.

If it were represented in 1000 base, it would be 8TB ((6*2)-(2*2)) (all drives used as 2TB due to mixed drive size)

Instead, if we take 8*(1000^4)/(1024^4) we get 7.27TB. I presume the remaining 0.17TB are gobbled up by formatting/overhead, but at least this is a lot closer than the 8TB I would have expected if a 1000 base system were used.

I get the 7.1TB figure regardless of whether I do a "df -h" in console, or if I use the web interface and look at my volumes.

Also, when you do DD in the console in FreeNAS/FreeBSD 8.3 it reports your output in bytes by default, allowing you to do the math yourself.
 

palmboy5

Explorer
Joined
May 28, 2012
Messages
60
Exactly. There is an objective right and wrong. A 2^10 binary system makes sense for anything computing. A 10 base system does not. It does not matter what precedent prior to computing called kilo.
A base-2 system makes sense for anything computing, a base-10 system does not, so don't use the base-10 system in regard to anything computing. Apparently that last logical step was lost.

It does? That's news to me.

Last time I checked my RAIDz2 volume (4 WD greens labeled 3TB + 2 WD Greens labeled 2TB) is represented as 7.1TB available space.

If it were represented in 1000 base, it would be 8TB ((6*2)-(2*2)) (all drives used as 2TB due to mixed drive size)

Instead, if we take 8*(1000^4)/(1024^4) we get 7.27TB. I presume the remaining 0.17TB are gobbled up by formatting/overhead, but at least this is a lot closer than the 8TB I would have expected if a 1000 base system were used.

I get the 7.1TB figure regardless of whether I do a "df -h" in console, or if I use the web interface and look at my volumes.

Also, when you do DD in the console in FreeNAS/FreeBSD 8.3 it reports your output in bytes by default, allowing you to do the math yourself.
I linked an example screenshot in my original reply to your first post, http://i.imgur.com/tG0z7.png. Here it is again as an attachment. tG0z7.jpg
I know there are many parts in FreeNAS that use the wrong way, but those parts are also not really "FreeNAS", as FreeNAS is really just the encompassing Web GUI of which I took the screenshot.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
I linked an example screenshot in my original reply to your first post, http://i.imgur.com/tG0z7.png. Here it is again as an attachment. View attachment 1414
I know there are many parts in FreeNAS that use the wrong way, but those parts are also not really "FreeNAS", as FreeNAS is really just the encompassing Web GUI of which I took the screenshot.

I'll have to take another look now, as I don't even remember seeing the little i's in there in the GUI on mine.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
A base-2 system makes sense for anything computing, a base-10 system does not, so don't use the base-10 system in regard to anything computing. Apparently that last logical step was lost.

I guess we are just going to have to agree to disagree on this one.

Early on in computing, a conscious decision was made to define 2^10 as kilo for the purposes of computing, and this made sense, because for computing purposes a 10 base system is meaningless and shouldn't exist at all.

It is not uncommon at all, or unwise to define the same term to mean different things depending on where it is used, and in this case it was a wise decision.

When this is strictly how it was used, there was no confusion. The confusion started when disk and drive makers started redefining the term kilo for the same of disk and drive making back to the 10 base system, and then exerted their influence on the standards bodies to do the same.

Now we have an unholy mess of kibi's and KB's, and while those of us who know better know the distinction, others don't and use them interchangeably causing confusion and a mess.

While I hate the term kibi, if it is to be adopted, then the 10 base kilo should be eliminated all together from computing standards, in which case it doesn't matter if people mistakenly abbreviate it KB, because then KB can just be taken as an abbreviation of kibibyte.
 

palmboy5

Explorer
Joined
May 28, 2012
Messages
60
OK, agree to disagree.

Now I'd like to use this attention to ask, anyone got any suggestions regarding the original topic of this thread? :P
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
No no, the mess exists with anyone/anything that says kilobytes when they mean kibibytes. This isn't a popularity contest, there is a clear and logical right and wrong.[/b]

I'll end with saying, the software this forum was created for, disagrees with you.

EDIT: What if hard drive manufacturers weren't the ones that pushed to fix the industry? What if the existing base-2 standard was written without anyone's help? Try and see past your apparent hatred for hard drive manufacturers and reevaluate what you're pushing for.

The mess began when computer scientists decided to make a kilobyte 1024 instead of 1000. I wish they had made a KB = 1000, but they didn't. We can argue their thoughts or feelings but its pointless. A kilobyte was, and also should be 1024. If you don't like it, you should make your own word and call it 1000. Does it suck, heck yes. Is it the right thing to do for backwards compatibility forever, ABSOLUTELY. 20 years from now I don't need some computer science grads debating whether a kilobyte was 1000 or 1024 bytes for a given device and something goes wrong because of their error that results in a loss of life.

The word kilobyte was created to be equal to 1024, and so on. How dare the hard drive industry try to change the rules because it was inconvenient for them. Honestly, it shows that the hard drive industry really wasn't well informed in the IT field when they started manufacturing hard drives. A family member that worked in IT in the 60s and 70s said that he has a hard drive that is 2MB. That is a true 2MB drive. A few companies started using a modified definition for MB back in th day because they thought they could get away with it. They did, for a long time. Fast forward to about 10 years ago and people started noticing their hard drive wasn't as big as they thought. Then about 5 years ago companies lost a lawsuit and got the name changed because it was inconvenient for them.

Changing the definition of a kilobyte from 1024 to 1000 is a horrible idea. It's broken, it can't be fixed. The cat is out of the bag. Give the unit of 1000 a new name, don't try to change things later. What do you think would happen if I suddenly pushed through a change to the standard for Fahrenheit that made the freezing point of water -2C an boiling point +104C. Everything would go to shit all over the place. Your body is no longer 98.6F. You have an oral thermometer in your medicine cabinet? Is it the "old Fahrenheit" or the "new Fahrenheit". If a doctor is trying to diagnose your medical condition and he sees your body temperature was 99.4F years ago, was that the old system or the new? Did you actually run a fever? How about that cooking thermometer, the refrigerator you own, the hot water heater, the thermostat in your car engine, etc. YOU CANNOT do a standards change without seriously screwing up alot of stuff. PERIOD. It's not about right and wrong. It's about not doing something stupid. What if we suddenly changed the definition of a "watt" of power because the electric companies wanted it to be 1024 instead of 1000?

Regardless, I think I made my point. A kilobyte has always been 1024 bytes with regards to computing. Suddenly changing that 1024 bytes to 1000 because some geeks screwed the pooch doesn't mean we should change it now. It's too late. The cat is out of the bag, has been for 50 years, and died out of the bag. We're stuck with it.

Real world example of this BS going wrong: RTDs(resistance temperature detectors) have many standards that have come and gone over the years. Two dissimilar metals in a given mixture cause the resistance of the metal to change as temperature changes. By reading this resistance you can calculate the temperature at the location of the RTD. Back in the 70s we bought our RTDs from a company in Germany. They had a standard(one of about 15, and none of them were cross compatible) that was unique to their company. Each company wanted their own standard(proprietary for the win!). Of course, the German made RTD had some good advantages, and when the industry decided they needed to establish a standard every single company wanted THEIR RTDs to be "the" standard. Eventually things narrowed down to just a couple of potential candidates. The German name for their standard was kept, but the slope of the RTD was changed. Since the slope was changed you had a problem. Depending on what year it was manufactured(NOT the year you bought it!) and what company made it(some are rebranded from other companies or from MULTIPLE other companies!) PLUS what contract you purchased it under(you always want the RTDs to be identical for a given application, right? and hopefully the company you just overpaid for your RTD did their homework and made sure your RTDs did actually match each other... which they didn't all do) your RTD may be one of two possible choices. If your RTD was manufactured under the "pre-standard" standard then you had a certain resistance versus temperature chart. If you were "post-standard" standard then you had a different chart. How do you know which chart you had? You had to pull the RTD out and expose it to a known temperature and look at both curves and figure out which one you were on. But some RTDs were designed and installed so that they can't be removed. So do you roll the dice and guess? And what do you do when you print out the chart from the 70s that''s old and faded and print out a clean chart from the internet and they don't match!? If you're like me those RTDs were made and installed before I was born.

Guess what this RTD is used for?

Monitoring temperatures for a freaking nuclear reactor! Yes.

So WTF should we do now that the definition has shifted because the industry shifted? Guess what we do.. we spend HUGE sums of money to replace RTDs that were intended to never be replaced and people get unnecessary exposure to radiation because the industry was a bunch of asshats.

After seeing how engineers can completely screw shit up so badly, I've been made a VERY FIRM believer that you shouldn't change the definition of something because its inconvenient. Broken or not, for better or for worse, it is what it already is.

So what do I call someone that knows that a KB is 1024 bytes and works in the IT industry? Experienced!

What do I call someone that says that a KB is 1000 bytes and still works in the IT industry? Someone I'm scared to work with.(No offense to anyone in this thread.. I knew this topic would be a major problem when I first read about the push to change the names and the "bi" was a potential solution more than 10 years ago). I heard the "bi" was started as a joke in an IRC channel during discussion of this "issue" in the 90s.

What do I call an engineer that says a kiloton is 1000 tons? Experienced!

What do I call an engineer that says a kiloton is 1024 tons? Someone that should be unemployed.

But anyway, hard drive manufacturers can't have their naming both ways. They don't sell you a 3TB hard drive with 4kibibyte sectors, do they? NOPE. They sell you a 3TB hard drive with 4KB sectors. It's clearly printed on the box! Well, get your asses in gear and figure out what the fuck is TB/MB/KB and what is TiB/MiB/KiB. They'd surely sell you a hard drive with their version of 4000 byte sectors if they could. Too bad most file systems won't be able to cope because 1KB has been 1024 bytes for...ever. If the damn jerks that created this monstrous mess can't even get THEIR paperwork right on their own products what makes me think I should ever trust them?

Hard drive manufacturers failed at life when they chose to redefine the TB/GB/MB. The crappiest part of my life as a direct result of this mess so far is that I have to deal with postings every few days that "my zpool is missing space". I'm sure over the next 30+ years it'll get quite old as more and more people realize that a TB isn't a TB thanks to a 'reimagined' definition of a TB between 1995 and 2007ish. I'm sure Apple chose to make a KB 1000 only because they were tired of the lemmings calling the Apple support hotline to ask why their cool new Mac doesn't have as much hard drive space as they were sold.

While I may technically be wrong because I still call 1GB = 4096MB today, the hard drive makers created the mess when they created the new standard. Before their standard it was accepted practice(perhaps even a standard) that a kilobyte was 1024.

I should also add that Kilo, Mega, Tera is part of the metric measuring system. There is no "metric" or "imperial" measuring system for bytes or bits. It had ZERO actual direct bearing with anything outside of the metric system until some schmucks in the hard drive industry wanted to change that and make it formal.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
OK, agree to disagree.

Now I'd like to use this attention to ask, anyone got any suggestions regarding the original topic of this thread? :P

Sounds good to me!

Well, I'm a little confused.

Are you running the AMD Phenom II X2 560 3.3GHz from your OP or the Intel Core i3-2125 mentioned in a later post?

What are your CPU loads on whichever CPU you are running during read and write over the network?

How does that compare to CPU loads during local dd style tests?

An Intel Core i3-2125 is certainly faster per core than the Phenom II above, but I am wondering if you are crowding out the cores with all the activity from the ZFS array.

My FreeNAS is running as a virtual guest under VMWare ESXi so it's not directly comparable, but I found that while having two cores assigned to the guest was just barely sufficient for local reads and writes on a 4 disk RAIDz2 array, when I went up to six disks, I needed to bump it to four cores, and then I get ~85% load. For what its worth, I use the same SAS controller as you do.

This is on my AMD FX-8120 (base clock 3.1Ghz, turbo (all cores loaded) 3.4Ghz, Turbo max 4.0Ghz). Each one of my cores is going to be slower than the core i3, but I'm wondering if you just don't have enough cores to do what you are trying to do.

In a unloaded system, core count shouldn't matter for SMB, as it is not multithreaded, but when you are reading and writing ZFS is also putting a significant load on the system. This load with your 8 disks, may be loading your cores enough that neither has sufficient free CPU time to adequately support CIFS at max speeds. I could be wrong though.

For purposes of diagnosis, maybe try installing the NFS client on your windows machine, and seeing if NFS gives you better results?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I think the AMD is the FreeNAS server and the core i3 was one of the workstations connected to the server.

You could try NFS(I hate NFS since it's not easily compatible with Windows and any visitors I have are always Windows machines). But for Samba/CIFS, you'll almost certainly need more CPU power. And as FreeNAS has more features added that CPU power used will likely go up more and more. FreeNAS is finally to the point where it is superior to it's former half-brother, FreeNAS 0.7.x.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
FreeNAS is finally to the point where it is superior to it's former half-brother, FreeNAS 0.7.x.

I've only been using FreeNAS for a very short period of time. Whats the history there anyway?

Was there some sort of disagreement in the development team resulting in a fork?

Is FreeNAS 0.7.x. the same thing that now is called NAS4Free?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I've only been using FreeNAS for a very short period of time. Whats the history there anyway?

Was there some sort of disagreement in the development team resulting in a fork?

Is FreeNAS 0.7.x. the same thing that now is called NAS4Free?

I don't know. I asked a developer once and he didn't know either. I've always wondered, but don't have solid evidence of what happened. If someone does know the story, I'd love it if they posted a short story about what happened. I'm just too curious for my own good.

But yes, FreeNAS 0.7.x became NAS4Free and FreeNAS(at least, in name) was reborn.
 

palmboy5

Explorer
Joined
May 28, 2012
Messages
60
The server is still running on the Phenom CPU, but I did get the i3 almost solely to see if its faster single threaded performance would improve the throughput (as SAMBA is single threaded). Both CPUs were running FreeNAS 8.2.0-RELEASE-p1 and I was benchmarking them using my desktop in the OP.

Here are the dd for the same RAID card + 8 HDDs, but different CPU/motherboard. RAM was different too, but still 2x4GB DDR3 for both cases.
IBM M1015 IT-mode SATA III Ports - 2x WD20EARS, 2x WD20EADS, 4x HD204UI RAIDZ2 - PII X2 560 3.3GHz
Code:
dd if=/dev/zero of=tmp.dat bs=2048k count=50k
261117219 bytes/sec
dd of=/dev/zero if=tmp.dat bs=2048k count=50k
494663520 bytes/sec


IBM M1015 IT-mode SATA III Ports - 2x WD20EARS, 2x WD20EADS, 4x HD204UI RAIDZ2 - i3 2125 3.3GHz
Code:
dd if=/dev/zero of=tmp.dat bs=2048k count=50k
291477873 bytes/sec
dd of=/dev/zero if=tmp.dat bs=2048k count=50k
452054942 bytes/sec


Their CIFS throughput was virtually identical, meaning 70MB/s read, 110MB/s write. BTW, in this situation I am saying MB as in Megabyte because the values are only approximate anyway due to variation between tests. Also that I decided I would never assume what programs like CrystalDiskMark mean and will simply parrot their notation.

But for Samba/CIFS, you'll almost certainly need more CPU power.
The i3 is certainly faster than the Phenom but I didn't get even a slight improvement with the i3. Would even more CPU power begin to make a difference? I guess eventually I'll have to try running FreeNAS on the desktop hardware and hope testing off, say, the i3 running Windows 7, would be a valid comparison.
I didn't record the CPU usage values but my impression from back then was that the CPU wasn't being fully used. I'll have to wait and test again tonight and let you know.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I built a system with an i3-530(it's one of the first gen i3s), your i3 should smoke my i3. I can max out both Gb NICs with my i3 simultaneously. That is, I can push/pull over 100MB/sec from both NICs at the same time(total of over 200MB/sec) with that machine. It has 16GB of RAM and kicks butt.

If you check out http://www.cpubenchmark.net/mid_range_cpus.html and compare my i3 to your AMD, my i3 has roughly 20% higher marks. I never take 1 benchmark to be a comparison of a CPU, nor do I assume that their arbitrary values are linear or logarithmic.

For you, I'd do the following to improve performance. Do take note that alot of people would be thrilled to get 70MB/sec. I got my speeds with only a small handful of tweaks to Samba, most of which are default now in FreeNAS 8.3.

Here's what I would try doing and the exact order I'd do them in based on cost and amount of time needed to implement the change.

1. Upgrade to FreeNAS 8.3 if you haven't. DO NOT upgrade the zpool to v28(have to do it manually from the CLI.. there is no option in the GUI to do this). Test speeds with autotune on and off, reboot between each change. Also disable the power management option in the FreeNAS GUI to make sure it's not making the CPU sleep too much. If you have no data on the zpool that you don't have elsewhere, you could try upgrading the zpool, but I wouldn't normally expect it to help performance.
2. Add more RAM to the server. 8GB of RAM for 12TB of zpool space is kind of stingy. You typically want 6GB minimum, with a thumbrule of 1GB of RAM per TB of data. 16GB seems to be a pretty sweet spot even for arrays up to 30-40TB. If I were building a server with more than 20TB of data I'd look at going to 24-32GB of RAM. As the guide I wrote and is stickied in the noobie section, if you aren't maxing out your RAM you shouldn't be complaining about stability and/or performance. RAM is one place where you shouldn't consider skimping.
3. Run iperf tests. If those tests aren't giving you over 900Mb/sec then something is wrong with your network topology. Find it and fix it. You have Intel NICs(Good boy!) so unless they are fake your NICs shouldn't be the problem. I typically get 950-980Mb/sec when I test my setup, but anything over 900Mb/sec is good.
4. Overclock your CPU slightly. Do not try to "unlock" more cores or do a significant overclock. Do a small overclock(5-10%) and see if performance jumps a lot. If there is a significant improvement, then I'd get a new CPU. But don't dismiss a CPU upgrade if performance doesn't jump significantly.
5. If all of this stuff turns up nothing, I'd do a CPU upgrade.

Some other food for thought:

-If you have compression on don't complain about your performance. Compression hurt performance, plain and simple. Same for deduplication. Of course, if you have deduplication on and you are having a problem requiring a post in this forum, you are a certified nutjob and I will stop replying to this thread ;)
-Check your BIOS settings. See if everything makes sense. Alternately, you can try disabling some of those power saving features and see if it affects performance. My last AMD computer was a POS because of the power savings features. (long story I won't go into but it's the reason why I'll never buy AMD again)
-I noticed you have advanced format and standard format hard drives. Did you check that box for the 4k sector size? You should have. If you didn't you can only fix it by destroying the zpool and recreating it. Also, it's not recommended that you mix the two formats. There have been mixed results with mixing formats. Maybe try a zpool with only 1 format type for testing?


If ALL of this stuff fails, you get to do one of two things.

1. Start tweaking FreeNAS to see if you can eek out more performance. There's some people that have posted comments of stuff in the forum that worked for them, but there's no "dummies guide" to tweaking unfortunately.
2. Buy more powerful hardware. By more powerful I mean use an i3+ ;). I can personally vouch that even 1st gen i3s make FreeNAS a smoking fast server while also being fairly low power. They kick butt AND take names. I can't vouch for how AMDs should perform, or yours in particular, so someone else would have to pipe up as to how their server performs for comparison with your CPU.

I assume you are running in a RAIDZ2 configuration. If you are running a RAIDZ1 you are not using the optimal hard drive configuration(5,7,9 drives) for a zpool.
 
Status
Not open for further replies.
Top