Measuring Usage of Distributed Resources? 16
An Anonymous Coward writes "I work in a distributed development environment with some 1000 engineers running Solaris on different hardware platforms. We are initiating a project to move to a centralized environment. One of the biggest problems in this project is to identify the amount of resources (i.e.: RAM, disk space, etc) that the centralized environment should provide to the users. For example, each developer is currently building his code in a different desktop on the network. How could we effectively monitor how much resources are been consumed from each desktop during each build? If we find a way to capture this information, considering that the results were gathered from different hardware platforms, how could we normalize the data to get meaningful metrics that would help us define a solution?"
More info, for interest sakes... (Score:2)
Back in University we shared Solaris machines for development. Right around project due dates, things really dragged as everyone was compiling (and someone was playing Doom on the console).
At least as far as processor time, compiling seems extraordinarily "all-or-none". If your company is like ours (only much larger), you'll have some real spikes when everyone makes one last build just before 5:00. But I guess that doesn't really hurt anything, except perhaps dinner will be a little colder for somebody.
We've tried to guess how much(bandwidth/processing power/memory/disk space) we'll need a few times - and we've tried to be thorough - but the only way we've ever got within a factor of 2 is by talking to someone with a similar setup already running.
That may be harder for you to find.
Good luck.
.
Easy Way Out (Score:3, Funny)
"Yes, Mr. CEO, we need a system with 16-way SMP, 64GB RAM, 2 or 3 TB hard drive space... actually, make that solid state storage... we need the speed. It'll also need 10 gigabit Ethernet. Oh, and don't forget my GeForce 4. What? Yeah, we need an GF4 to play Qua... to render those architectural drawings quickly.
....
I, did I say we needed ONE of these systems? Sorry... I meant THREE."
=)
Time it :) (Score:3, Informative)
WTF cares? (Score:3, Insightful)
Test a smaller case? (Score:4, Insightful)
You're trying to measure the wrong thing. (Score:3, Insightful)
See what resources the folks on your fastest systems use, and assume everyone will use that much.
Expect it to ramp up to that usage over the coarse of a few months. Expect the usage to keep going up forever.
Bigger issues with centralized development (Score:3, Insightful)
All that said, as for remote CPU utilitization the ruptime [olemiss.edu] command is a start.
Distributed resources != centralized resources... (Score:1)
A good multi-user system will be efficient in handling system resources, sharing CPU cycles, managing RAM and sharing when possible (using copy-on-write, etc), and all these things are unneccesary in single-user systems.
Probably the best bet is to come up with vague numbers for systems in different departments (developers need X amount of processing power, Y amount of RAM, while marketing needs X/100 CPU and Y/50 RAM, for example) and then find a company that's already done this kind of migration - perhaps through your solutions vendor - and see how their numbers for disctributed systems matched up with hardware for the centralized system.
Hope that helps,
-Jeff