How does one determine the "measurements" on their system to ensure they are correcting problems the way they intended? i.e., How do you measure maximum bandwith on your system?

Is that how you measure maximum bandwith?  Multiply "bus maximum" by "bits wide"?  If so, how does one determine these specific measurements on their system?  

(If you grasp where I'm going with this, please feel free to discuss "other" measurement standards, so that I might better understand stuff like this going forward.  It's a wide open question for hopefully learning how these measurements work so I know what to look for.)
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gerald ConnollyCommented:
How long have you got?
Its realtively easy to work out the maximum bandwidth of your system, just start at the CPU and work out all the connections and their bandwidth, obviously the smallest number in any link (say disk to memeory is the bottleneck.
How do you test real bandwidth versus theorectical bandwidth? well as i have already explained the theorectical stuff is relatively simple, but useable bandwidth is more difficult.
Overall bandwith (performance) is difficult, look at the PC magazines to see the different methods that they use to catagorise performance, and some PC's perform better with different applications than others.
However for storage the usual benchmarking programs are IOmeter, Bonnie, SPC, and my favourite IOzone. (IOzone, generates great charts 3d surface charts that show how your system works at different file and record sizes )
CanadianJeffAuthor Commented:
I get the impression that I'd better be prepared to get in the mud if I'm going to go down that road.  So, because I'm not particularly interested in being a computer engineer, etc., I'll try to stick to understanding what affects me and my computing environment.
You said: just start at the CPU and work out all the connections and their bandwidth.  Is there a basic/standard protocol way of doing this that a layman like myself can/should follow?  
i.e., Step 1: CPU to ?.  Step 2:  ? to ?.  Step 3: Hard Disk to RAM?  Step 4: etc., etc.  And, then, how does one see the bottlenecks, because different measurement units are being used& do you know what I mean?  How do I see a bottleneck when one measurement is based on RAM, while another is ____?  Are all the measurements based in bandwidth, then?  
I guess the question is, as a layman, should I even look at this path, or just glean whatever I can from the basic terms and move on?  Or, use one of the programs youve suggested (as a non-IT person, would these programs serve a purpose for me)?  
Gerald ConnollyCommented:
Look up the CPU chip that is in your server, the specs will tell you its max bandwidth from CPU via the various cache's to mRAm, Your RAM will have a defined BAndwidth (not capacity) GB/sec, the PCI (whatever flavour) will have a max bandwidth, the interface card will have its numbers as well, (PCI interface one side, the connection medium on the other (SCSI, SATA, SAS, FibreChannel etc) then the RAID controller if you have one, its back-end channels and then the disks.
Most people don't bother with all that and just check the actual throughput using as i said before one of the Benchmark programs. Both IOmeter and IOzone are easy to use and you don't need to be a computer engineer to run them.
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

To identify bottlenecks in the cpu, I would check task manager to see if the load is hitting 100% for any length of time. If you have an Intel P4 or Core-family cpu, checking the FSB is also something to look for, as a lower setting would hobble your cpu. The i7 doesn't have an FSB, so this does not apply. You have to be aware that many cpus now employ energy saving modes such as SpeedStep which deliberately reduce the cpu multipliers to slow it down.

RAM can slow you down unless you use lower latency RAM, but this is mostly relevant to gamers. RAM that isn't fast enough to keep up with the cpu may lead to crashes as it is forced to run faster than designed. DDR2-800 is actually fast enough for most cpus, except for i7's.

Video cards can slow you down if you don't use one that is designed for you application. 3D modelling and CAD cards make use of OpenGL and benefit from cards designed for that. 3D games benefit from the latest 3D gaming cards listed on tomshardware, for example. You can usually tell the video card is the bottleneck in a game by the stuttering and low framerates - anything less than 30 is unplayable.

Hard disks are the slowest component of any pc and will benefit from a speedup; however, most 7200 rpm drives will do an adequate job these days. You can tell it is the bottleneck when your cpu is mostly idle and your hard disk is active for a long time, and optimizing it may require investigating what is running that takes so long (antivirus scanners are a typical cause). You can move up to a VelociRaptor (or even a cheaper early model Raptor) which spins at 10000 rpm, or get an Intel or OCZ Vertex SSD (other models currently have severe write lag problems).

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
I think you have 2 useful and complementary approaches:
1/ Estimate your maximum budget
One keep telling you the "Strategic" word.
==> Estimating the expected business metrics is too often minimized :
  • How long can you rely on manual works or paper after a major crash ?
  • How long does a transaction should take ?
  • What if you lost 1 hour of transactions ?
Having a budget allows to size the overall system along with backups and recovery plans

2/ Estimate your needs before challenging the system
You have 10 people using this great HD video edition tools allowing for 2 HD stream to be mixed in real time on a MPEG 4 live stream
You have 1000 CallCenters agents using SIEBEL on a 20M customer db
==> Sometimes it's hard...but it worth the try :
raw 1080p is 8MB per frame which is 200MB/s at 25fps = A minimum of 2 dedicated striped drives per stream !
searching a customer in 20M means (at least) an index scan (all in cache + 1 sequential io) x "a customer display" (involving about 20 random read io) x 1000 / "think time" (of 5sec) = 4000 IOPS (1 single Intel SSD X25-E may be enough)

Usually, you'll find the bottleneck in the (expected) order (lowest to highest bandwidth).
  • Random IO (where SSD, 15krpm drives, RAID levels and partition alignment help)
  • Network (where 10Gbe, Fiber and Infiniband help)
  • Sequential IO (where striped RAID levels help)
  • GPU (gamers care this one)
  • RAM
  • CPU
THEN measurement of the maximum bandwidth is a matter of tools AND problem fixing procedures (including hw support) when the expected bandwidth is not in the 20% tolerance ratio.
CanadianJeffAuthor Commented:
Thanks guys, got more than I asked for, or could grasp!!! LOL... better idea now what it means.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.