Turn Out the Lights

  • Comments posted to this topic are about the item Turn Out the Lights

  • Andy, it's not just that it is an expense it's whose expense it is.

    The instant it becomes and IT expense non-IT loses interest. If IT identifies the problem and the fix but this requires a change in business priorities then the business response can be paraphrased as "not my problem guv, I'm not paying".

    If a server is bought to provide functionality for a business unit then that business unit does not like the idea of consolidating databases from other business units onto "their" server.

    I think the evolution will produce the ultimate "death or bongo" scenario.

  • As for who pays, when it isn't the IT department it is usually the IT department who make the recommendations and do so on the least risk basis. This is perhaps taking a decision away from the business.

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • I hope you were not advising to turn the power throttling during low cpu usage back on. Keeping CPU at full power and ready to handle spike without having to wait is critically important on real business servers -- unless it's a person just using a single computer to run Quicken or Access or Excel or even accessing a SQL Server or Oracle to server handle a very small business.

  • I think it ironic that the same people that are concerned with the "cost savings" of allowing CPUs to "turn down" are frequently the same people that say disk space is cheap and then waste it without considering the rack space and cooling required to keep those babies up and running. And, to be honest, I've not seen many people with systems that both face the public and do a good amount of heavy lifting on batches of data that are actually running at 5% any time of the day because of the waste typically built into the code, which also beats the hell out of that "cheap" hard disk space 😉 . And then there's the massive IO and processing waste associated with XML and poorly written, overly verbose HTML not only in the server, but in the entire length of the pipe, as well, but that's "just a cost of doing business" because everyone does it, right? :hehe: Do the switches and routers "turn down", as well? In a 24/7 shop, they probably wouldn't automatically turn down even if they could, nor would the CPUs or disks.

    I also think it ironic that the same people that suggest turning down server CPUs are the same people that won't turn off their desktop machines overnight nor even physically turn off their monitors at night. Heh... and how 'bout that entertainment stack they have at home?

    It would also be interesting to see a white paper on the measured differences and cost savings of allowing the CPU's on servers to "turn down". Do you happen to have a link on one?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • I think the biggest issue I see is the perception of inexpensive hardware drives poor programming practices. This creates systems that can't scale without massive investments in hardware. I used to work for a guy who was a PHD in mathematics and he would work constantly to eliminate extra code or even white space in his TSQL. You just don't see that level of attention to detail from developers today. This drives up hardware requirements and costs.

  • jarick 15608 (1/18/2016)


    ...I used to work for a guy who was a PHD in mathematics and he would work constantly to eliminate extra code or even white space in his TSQL...

    Whitespace strippers are valuable and should be part of the build system i.e. the easier read version should be the one in the source code repository and the one maintained.

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • Personally, I'm one of those who won't "turn out the lights" on my servers. In my mind, having a system available and performant trumps the cost of electricity to run the servers. Like Jeff said, the wasted SAN storage is acceptable, and I'll throw in the space wasted by multi-MB email. The same people want to turn down the CPUs on database servers? No way.

    On the topic of who pays for it, if non-IT people pay for it and are allowed to make the decision to turn down the CPUs and idle the disks, does anyone on earth think that these sample people won't complain when a user complains that a site is slow? Again, no way.

    There's waste everywhere. Bloated HTML and XML lead to wasted bandwidth. Junk code leads to wasted CPU and memory. Improper data types, XML and poor decisions all lead to to wasted disk space. The only solution is to design and write well. As an example, a procedure taking 600 ms isn't a big deal to anyone because a site is fast. Then again, if it's run 75,000 times a day that works out to 12.5 hours of CPU time every day. If you find and eliminate that nasty scan that's consuming most of the time and get it down to 80 ms per run, you're down to 1:40:00 per day in total CPU.

    I must apologize if this has turned into a soap-box, but efficient code is a passion of mine. I find examples of simple date filters done in a non-SARGable manner, implicit casts and a host of other sins way too frequently and nobody ever has the time to address them unless there's a fire right now and it must be addressed right now. The normal solution is a 45-email chain to say we need more hardware. I'm all for adequate hardware, but no amount of hardware can forgive all sins. I'll end my rant on that note.

  • I hope that stripping whitespace at the expense of proper indenting to make the code readable (and thus more maintainable) is not what that guy did.

  • Ed Wagner (1/18/2016)


    I'll end my rant on that note.

    Heh... do you have to? I was rather enjoying it because it's exactly the way I think about these things.

    The only thing missing is the fact that one of the favorite places to make "cost savings" is in the (extreme lack of) "talent" they hire because they don't understand that true performance is in the code. They still think it's all in the hardware or some wingnut's off the shelf software or the "cloud" itself. Of course, people lying through their teeth on their resume or about the marketing snow job that people deliver doesn't help in that area either.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Also, if programmers were not allowed to write SQL code.

  • Jeff Moden (1/18/2016)


    Ed Wagner (1/18/2016)


    I'll end my rant on that note.

    Heh... do you have to? I was rather enjoying it because it's exactly the way I think about these things.

    The only thing missing is the fact that one of the favorite places to make "cost savings" is in the (extreme lack of) "talent" they hire because they don't understand that true performance is in the code. They still think it's all in the hardware or some wingnut's off the shelf software or the "cloud" itself. Of course, people lying through their teeth on their resume or about the marketing snow job that people deliver doesn't help in that area either.

    I guess I didn't have to end it 😉 because there's so much to say, but I figured my point was made. It's just a common-sense way of looking at things.

    You're right, of course, about resumes. With everyone being an expert at everything until you actually ask them a simple question, it makes it hard for honest people to even get a second look. I'm not looking, but I have to feel for the honest people who are looking and good - It's hard to get past the glowing piles of lies. When reading resumes, it's hard to get through the pile of lies to people who are actually good.

  • Henry B. Stinson (1/18/2016)


    Also, if programmers were not allowed to write SQL code.

    It funny that you should bring that up, Henry. I'm working with a DBA at a small company. He's an experienced and skilled DBA (not like the folks I've been interviewing for another position) but has only been at the particular company for 6 months. Because of that, he's not yet experienced "learned helplessness". He's made some remarkable performance and resource usage improvements by writing some stored procedures to replace some very poorly written managed code and some ORM code and, man, do they sing!

    That's been interrupted by the CEO/Owner of the company who, apparently, was a front end Developer once upon a time. All his front end buddies keep telling him how evil stored procedures are and how important it is to maintain 100% portability and so he's tasked the new DBA to prove beyond any reasonable doubt that all of the stored procedures will be 100% portable. Of course, we know that 1) that's not possible and 2) even if it could be done, it would be stupid to not use the powerful extensions available in each RDBMS engine.

    The most ironic part of all of this is that the current front end code is horribly slow and resource intensive because it was written to be <drumroll please... 100% portable (or so they think. They don't actually have multiple systems to test on). Even pure ANSI code isn't portable because not all of the features of ANSI code are available in every RDBMS engine (and I'll rue the day when they actually are). With that, a substantial portion of the presentation will be on why not all the code should be "portable" and why the Developers should, in fact, be allowed to write SQL.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • At the risk of going off topic (and I apologize in advance if that happens), wouldn't this just cause them to view us like Comcast (and the other evil Internet providers)?

    "Those &$^@ IT guys, always wanting to charge us for our bandwidth!"

    🙂

    Dave

  • If you can't talk sense into him, find another company.

Viewing 15 posts - 1 through 15 (of 40 total)

You must be logged in to reply to this topic. Login to reply