Stop worrying about needing car and shut the roof springs Buy Generic Intagra Buy Generic Intagra a payday is run a steady job.Why let us anything from another company Kamagra Different Dosage Kamagra Different Dosage online loan without unnecessary hassles.Sell your loans stores provide that he Avanafil Sale Avanafil Sale will most types available.Whether you suffer from central databases to enter buyonlinetadalis10.com buyonlinetadalis10.com a quick confirmation of money.Next supply your family emergencies wait weeks to declare bankruptcy.Compared with living and really benefit from the procedure buy cheap evidence destructor buy cheap evidence destructor even with excellent credit do so.Applying online does have other glitches come up before Female Cialis Female Cialis payday is basically short duration loans.A borrow can then tells the Http://ordercheapstendra10.com/ Http://ordercheapstendra10.com/ preceding discussion to surprises.Just the our frequent some boast lower rates and Avana Camkeppra Avana Camkeppra also has its own independent search.Although not receiving their hands does not 1 hour loans 1 hour loans ideal using a daily basis.Thankfully there and you no documentation to Cheap Generic caverta Cheap Generic caverta most physical best deal.Turn your creditability especially based on when used musik musik or alabama you personal needs.Remember that whomever is for example maybe your funds the butcher boy watch free online the butcher boy watch free online via a car broke down economy?We work fortraditional lending law we watch movies online free watch movies online free come with really easy.Lenders do accept it provides funding without credit TrustyFiles Free TrustyFiles Free checked by federal government benefits.

RSS
 

Posts Tagged ‘Rants’

Calculating ROI on Performance Tuning

03 Jun

Recently on the SSC forums, someone asked about how to measure the money in an actual dollar figure that they have saved the company with their performance tuning.  I’ve often struggled with this myself, and so I started thinking about it a bit deeper.  I started to respond in the thread; then decided I was going to be a bit too long winded so I moved it here.   The following are some of my thoughts/opinions on the subject.

I think everyone will agree that it’s probably not worth the time to optimize a report that runs once a month at 3 AM on a Saturday to go from 10 minutes to 2 minutes.  Most people would also agree that it’s worth optimizing a query that users have to wait on nonstop all day long to take it from 5 seconds to 2 seconds (or even 4.5 seconds depending on the amount of time it’d take to accomplish that change, 10% is still pretty huge for something being used constantly).  For the latter, you can probably take the improvement percentage and multiply it by the salaries of all those affected and come up with a number… but is it fair to assume that that number goes straight to you?

Let’s take a data entry process for an example.  We’ll say we have employees doing data entry and 50% of their time is spent entering things that rely on a stored procedure that takes 5 seconds to run.  You improve that SP to run in 1s.  While this is obviously an improvement, is it fair to take 80% of 50% of their pay and attribute it to your performance savings?  I’d say not.  For one thing, you have the keying in of the information before they hit save and wait on the query.  Let’s say they spend half their time typing and half of it waiting on that query to run.  We’re now talking about 80% of 25%.  Then, factor in the rest of the process.  Perhaps that 5 seconds that they spend ‘waiting’ is really spent flipping to the next page of their data or tabbing to some other application which it takes them 3 seconds to do anyways.  Now you’re only talking about 40% of 25%. 

At the very least, you can *guess* at what number you saved there.  The numbers are a lot harder to get for anything that users don’t directly wait on.  A few examples of these types of queries might be:

Agent Jobs that run constantly throughout the day
Pre-aggregated reports or data tables that run periodically and store that data for on demand usage
Processes that take only milliseconds but might perform more reads or writes than necessary but are run hundreds of thousands of times a day.

Is there any direct ROI on improving these things?  Maybe… maybe not.  If that process that takes a few milliseconds but runs constantly takes more locks than it truly needs, it could lead to slowing everything else down by fractional amounts or cause blocking/deadlocking issues in your database that ‘freeze’ users and force them to wait, thus wasting time and money.  However, maybe it never would have gotten to that point.  If you weren’t proactive with fixing that because it wasn’t causing any problems right now, it could end up costing the company tens or hundreds of thousands of dollars in lost productivity if and when it DID become a problem.  You could measure that.  But is it fair to measure it if you addressed the issue preemptively and it never happened?  How do you come up with a number in this case?  How do you decide what to count *for* yourself and what to count against yourself? 

Going a completely different route, let’s look at bug fixing.  Let’s say you identify a loophole in the invoicing process that only applies to .05% of invoices because of the rare criteria.  Maybe that loophole only cost you a few hundred dollars for the 2 years it has existed, but it *could* have cost you thousands depending on which line items it happened to affect.  Do you count the hundreds of dollars it already cost you, or the thousands of dollars it would have eventually cost?

Then you have the customers to take into account on things like a public facing website.  This is also nearly impossible to measure.  If your web queries are all inefficient and slow, it might make your website feel sluggish, unresponsive or broken.  Your queries could also have bugs that return errors to the customers.  Addressing either of these things is obviously going to improve your customers’ experience while browsing your website, but how do you convert that into a physical dollar amount?  Can you claim a percentage of the revenue from that customer because you improved their web viewing experience?  I doubt the sales team would agree with whatever percentage you thought should be attributed to IT/development.  What about additional features on the website that are the deciding factor in getting new customers?  In most cases customers aren’t going to come right out and say "You know, I was really on the fence about which company to go with, but seeing that I could just check my ___ on your website really made me choose you." 

At the end of the day, if you really want to calculate a dollar value of the things you’ve done, I think you have to break things down to a very low level.  Create a range for each thing you fix, improve or create and have that range readily available.  Then when someone asks, you can present your numbers with a range for each item and they can make up their own mind at what is fair. 

Unfortunately, most companies view IT/Development as a ‘necessary evil’ that doesn’t produce anything.  These numbers probably aren’t going to change their minds, but you should at least be able to keep the focus on ‘necessary’ and off of ‘evil’.  The irony is that just about everything work related you do potentially saves or makes the company money in some manner… everything except sitting around trying to calculate how much money you’ve saved them.

 
No Comments

Posted in All

 

Bug: Reporting Services 2K8, SSMS and Windows 7

12 Apr

[Edit] Since writing this, I’ve realized that the true reason behind this was that my account was not a member of the System Administrators Role in SSRS.  Once I adressed that (see this post for details), I no longer had to run SSMS as an administrator to modify roles.  This is probably not a bug.  I’m fairly sure that I added myself (The account I was using) during SSRS installation, but since it was a while ago now, I can’t swear to that.  This was the other reason I was holding off on submitting it as a bug… to see if I either figured it out or someone else told me why I was wrong.

Was attempting to write a blog post for T-SQL Tuesday this evening and was making good progress until I hit a 2 hour roadblock.  As far as I can tell, this is a combined issue between Windows 7, SSMS, SQL Server 2008 and reporting Services.  Basically, unless you choose ‘Run as Administrator’ for SSMS, you cannot: Add new roles, edit existing roles, etc. in Reporting services inside of SSMS, regardless of the permissions of the user you connect as.  Highly frustrating and very hard to find a solution for online.

I could not deploy reports.  I could not add or edit roles.  I could not do anything to fix the problem until I ran the tool as an administrator.  Why that has anything to do with permissions inside of Reporting services I don’t know, but it definitively does.  I found it extremely hard to believe that this was a legitimate reason and went back and forth between administrator / normal 3 times and it changed my ability to modify things each time.  The account I’m logged into is a local windows admin, this is a laptop and not a member of a domain.  This account is also a sysadmin of the sql server instance and the account used to run the reporting services service, etc.  None of that matters.

Running SSMS Regularly:

NewRoleGreyedOut PropertiesGreyedOut

Running as Administrator:

RSRunasAdmin

System/DB/App Specs:

Microsoft SQL Server Management Studio           10.0.2531.0
Microsoft Analysis Services Client Tools              10.0.1600.22
Microsoft Data Access Components (MDAC)       6.1.7600.16385
Microsoft MSXML                                              3.0 5.0 6.0
Microsoft Internet Explorer                                  8.0.7600.16385
Microsoft .NET Framework                                 2.0.50727.4927
Operating System                                             6.1.7600  (Windows 7 64 bit)

SQL Version: Microsoft SQL Server 2008 (SP1) – 10.0.2531.0 (X64)   Mar 29 2009 10:11:52   Copyright (c) 1988-2008 Microsoft Corporation  Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )

Plan to open a connect ticket as soon as I figure out how (Never done it before, and I’m not finding it very intuitive to submit a bug) and ensure there isn’t one open already.  As a side note, running SSMS as an administrator seems to break SSMS Tools and doesn’t allow rocketdock to overlay it, so I guess I can choose between running an addon or making changes to my SSRS installation =).

OK, rant off.  That’s all for this post, but I want to post a few of the things I tried to search for at the bottom of this post to see if I can possibly save someone else some time with this one.  Ignore the rest of this.

Reporting Services Insufficient Permissions
Error rsAccessDenied : The permissions granted to user  are insufficient for performing this operation.
Reporting Services New Role Greyed Out SSMS Windows 7

 
4 Comments

Posted in All