|
Hi,
I have written a bit of Code to talk to bit of hardware. All good I now having to document it for the records,
In the past I have worked on embedded and analogue test rigs which can be covered by a flowchart and a listing.
This will not work for a Windows program there is too much going on compared to a PIC or Atmel. Is there a way of creating the asked for without going mad? It can't be too odd as I think there must be other companies who need this...
|
|
|
|
|
Welcome to a reason I don't do desktop and server development anymore.
The truth is I've only ever done flow diagrams for embedded code.
To verify desktop applications, rather than design a flow diagram, I design a test matrix. My functional requirements basically dictate the tests.
If you really must diagram your software's behavior, you could use UML, but it won't make things easier, just more comprehensible because anyone with a UML background could understand it.
UML - Behavioral Diagram vs Structural Diagram[^]
Adding: To my mind this is the difference between programming realtime systems and programming non-realtime systems - realtime systems are predictable enough to diagram. As a rough rule of thumb anyway.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
[tl;dr]: Is RAID5 really causing such a huge performance hit?
I have a system (a Hyper-V VM host) with both eSATA and USB3.0 connectors.
I have a retired set of 8TB drives. I got myself a Mediasonic HFR2-SU3S2 PRORAID 4-drive enclosure, which can use either connector.
I love how trivial this enclosure's RAID setup is. I chose RAID5, so I have a total of 24TB worth of storage. Performance however makes it downright unusable. I could leave my VMs powered down overnight to back them up, but what I'm currently seeing could take days. Backing up a VM while it's running is just not a good idea (I use robocopy) so the VMs have to remain down while backing them up. That's not gonna fly during my workweek.
I made sure that, whether I'm using USB3 or eSATA, the "Better Performance" radio button is selected in Device Manager / Disk drives / [the RAID enclosure] / Properties / Policies.
Write operations hold steady at ~2.6MB/s. Active time is flat at 100%.
Same setup, but using eSATA instead, holds steady at ~5MB/s. Better, but still way below expectations. I'm questioning what my expectations should be.
The OS sees the RAID, not individual drives. On top of that, I use VeraCrypt to encrypt the entire RAID. I understand RAID involves some overhead, especially for Write operations--parity calculations would be done by the enclosure hardware, not my VM host's CPU. OTOH, VeraCrypt also introduces its own overhead, and that would be done by the host's CPU (which holds steady at ~3-4% when copying, so that's hardly the killer).
Before I got the RAID enclosure, I backed up the VMs onto a single external disk over USB3, and there was always plenty of time to do the whole thing overnight. I forget what I got in terms of transfer rate, but I'll be sure to pay attention the next time I do it - surely at least 10x the current performance. That single disk is also encrypted with VeraCrypt, so--unless I'm missing something--the only thing left that can account for the difference in transfer rate is the fact that the target drives are set up in a RAID, as opposed to transferring to a single drive.
My (somewhat rhetorical) question is: Really?
Does my diagnostic make sense? Is the fact that I'm backing up to a RAID the real performance killer? Everything is otherwise the same - both the RAID and my single external drive are connected via USB3, and using VeraCrypt.
Does it make sense at all that RAID5 kills performance to the extent I'm seeing?
What would you expect with a setup like this? I know I'll never get close to USB3's theoretical maximum throughput, but this is insane.
[The RAID isn't indicating any failure, and the last time I've used the drives individually, they were all working fine]
|
|
|
|
|
(Definitely didn't read the whole thing.)
When selecting a RAID level, you have to consider the ratio of reads to writes. Most situations have many more reads than writes and (if I recall correctly) RAID 5 is designed for that. But if your situation doesn't have so many reads, a different RAID level may provide better performance.
|
|
|
|
|
Well, I really only bought the RAID enclosure to maintain an extra backup set. I'm already backing up on single drives, but I had more than enough retired 8TB drives to make a RAID out of them. While I'll sacrifice capacity for performance, there's a limit to what I'll find acceptable. I thought RAID5 was a good compromise. Of course I'd never settle for a purely striped setup.
In theory, the only time I'll ever read back what I have on that RAID is if I my 'live' drives fail and need to restore from the backup. Otherwise the intend is to just re-sync (once a week?) what's different from my live drive back onto it (essentially incremental updates - robocopy's good at that).
At this point I'm thinking maybe I should just do my backups straight from my live drive, onto a single external drive, and then let the RAID bring itself up to date by syncing from the backup instead. Then it doesn't matter if that takes days, since that won't force me to have my VMs powered down when the extra backup is taking place...
|
|
|
|
|
First off, are you sure you've got RAID 5 selected? If you do, and you have 4 8TB drives, the total storage should be far less than 24TB. Depending on how the controller sets the mirrored slices, then you might only see 8 TB.
If the enclosure supports non-raid operation, I'd be tempted to try just one drive with no encryption, and see what transfer speed you get. If it's still poor, then that might suggest that the enclosure itself has poor transfer rates. You might also try it with the other drives, just in case one or more of them has some hardware issue that's slowing the whole thing down. If you get good transfer rates with a single drive, I'd move on to basic mirror (RAID-1), and see how that works out. Maybe try some of the other RAID configurations as available to see if there's a sweet spot that provides good transfer rates and protection from drive failure.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
I think just about every discussion I've ever seen about RAID capacities said essentially that the capacity for a RAID5 setup (assuming drives of identical sizes) is N-1 (where N is the capacity of one drive). So 24TB sounds right to me.
I suppose I will take the time to try out various combinations, but this is all taking a very long time. I had initially started off with four 4TB drives, and was essentially seeing the same thing under the same conditions.
|
|
|
|
|
1. Just a SWAG here, but that level of NAS suggests minimal processing power. Since it is essentially a software RAID, the more writing across disks, the more overhead. Many of these boxes run a slimmed verion of TrueNAS or embedded Linux.
I run a TrueNAS NAS box on a 10 year old Precision 5810 with 2 5TB NAS drives, 5400 RPM. Uses the ZFS file system in a mirrored RAID (software not hardware). I backup via ethernet. Here is a small sample, using Robocopy:
Total Copied Skipped Mismatch FAILED Extras
Dirs : 515 514 1 0 0 0
Files : 2483 2483 0 0 0 0
Bytes : 16.795 g 16.795 g 0 0 0 0
Times : 0:04:39 0:04:12 0:00:00 0:00:27
Speed : 71555803 Bytes/sec.
Speed : 4094.455 MegaBytes/min.
Ended : Tuesday, April 16, 2024 12:18:17 PM
Not great but OK (~69MB). Network supports about 125MB.
I agree with the idea of putting a single drive in your NAS for testing.
2. Veeam will back up running VM's. Community version is free for something like 10 VM's. Not full featured, but with a PS script, you can automate.
Oops, wait: I am not affiliated, associated, known by, etc.
>64
Itβs weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
Wordle 1,032 3/6
β¬β¬π©π©β¬
π©β¬π©π©β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,032 5/6
β¬π¨β¬π¨β¬
π©β¬π©π©β¬
π©β¬π©π©π©
π©β¬π©π©π©
π©π©π©π©π©
|
|
|
|
|
Wordle 1,032 3/6
🟨β¬β¬🟩β¬
β¬🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,032 3/6*
π¨β¬β¬π¨β¬
π©β¬π©π©β¬
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
β¬β¬π©π©β¬
β¬β¬π©π©β¬
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,032 4/6
π¨β¬β¬β¬β¬
β¬π¨π¨β¬π¨
π©β¬π©π©β¬
π©π©π©π©π©
|
|
|
|
|
(16. April 2024) 4/6
β¬β¬β¬β¬π©
β¬β¬β¬β¬π©
β¬π©β¬π©π©
π©π©π©π©π©
Rules for the FOSW ![ ^]
MessageBox.Show(!string.IsNullOrWhiteSpace(_signature)
? $"This is my signature:{Environment.NewLine}{_signature}": "404-Signature not found");
|
|
|
|
|
Wordle 1,032 4/6*
π©β¬π©β¬β¬
π©β¬π©β¬β¬
π©β¬π©β¬β¬
π©π©π©π©π©
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
Wordle 1,032 5/6
β¬β¬β¬π©π¨
π©β¬β¬π©β¬
π©β¬π©π©π©
π©β¬π©π©π©
π©π©π©π©π©
I must confess my mind was in quite another place with those earlier two guesses
|
|
|
|
|
Wordle 1,032 3/6
π©β¬π©β¬β¬
π©π©π©β¬β¬
π©π©π©π©π©
|
|
|
|
|
|
jschell wrote: self driving car
How many humans do you know who always drive safely, and according to the traffic regulations? If the cars learn from us...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
In 30 years it will be deliberately obscuring its expired tabs and driving without insurance.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Why bother, in St. Louis, Missouri, it is a game to have [overly] expired tags. I recently went to a park and viewed 8 expired tags while walking the parking lot in one aisle. Many tags are over a year expired. But that is another discussion.
Hogan
|
|
|
|
|
"Smarter" how? The statement is meaningless without elaboration, and Musk should (and probably does) know better.
|
|
|
|
|
Musk talks a lot of trash.
I suspect Ketamine.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Yet another over-promise and soon to be under-delivery.
|
|
|
|