RSS Feed
LinkedIn
Delicious
Skip to main content

Cornelius J. van Dyk's SharePoint Brain Dump

Rate this blog:
Go Search
Home
Step-by-Step Guides
Downloads
Post Archive
Capacity Planning
Architecture & Topology
Support Forums
SharePoint Team Blog
  

 Important Posts

  Complete MOSS Licensing Info
  SharePoint Speak Terminology Dictionary
  SPCAP - SharePoint Capacity Planning Tool
  Step-by-Step – A REAL world upgrade of a SharePoint Portal Server 2003 (SPS) farm to Microsoft Office SharePoint Server 2007 (MOSS)
  Best Practice - Determine if a SPUser has Admin rights to the SPWeb
  SharePoint 2010 - Good, Better, Best
Cornelius J. van Dyk's SharePoint Brain Dump > Posts > How do I? – Calculate the number of SharePoint Web Front End servers I need.
How do I? – Calculate the number of SharePoint Web Front End servers I need.

I am going to take you through my journey for Capacity Planning in this entry. Given the topic, this will be quite a lengthy post so if you're really in a big hurry and don't care to understand the intricate details of the capacity planning equation you could just skip this article and go directly to the link for SPCAP – SharePoint Capacity Planning Tool.

Now as any seasoned SharePoint Architect would tell you, one of the key components to planning your SharePoint deployment, is Capacity Planning. Unfortunately, Capacity Planning is such a confusing topic and there's not a whole lot of really good documentation around it. What is available can be confusing to say the least. In addition, there are so many factors that affect your planning in this area that it is almost impossible for anyone to come up with a solid number. Your performance would be affected by the server hardware, the client hardware, the concurrency rate of your users, the throughput rate required, the response time your organization deems acceptable etc. These are just the factors that we actually CAN calculate into our formulae. Additionally, your general network load and other factors that could cause interference with your expected performance will from time to time wreck havoc with your stats, but for the most part we can make a good judgment call as to the type of farm setup that would be required in most cases.

I STRONGLY recommend that you at least try and read the Capacity Planning Guide on TechNet, found here:
http://technet2.microsoft.com/Office/en-us/library/eb2493e8-e498-462a-ab5d-1b779529dc471033.mspx?mfr=true

Now once you read this, you may come away with a clear understanding of your capacity needs, but if you're like most of us, me included, you'll come way from this even more confused than before.

So why did I recommend you read it?

Because I do not want you to blindly rely on my formulae as the golden rule for capacity planning.

My formulae generally are on the conservative side. For example, instead of using the "Read" transaction numbers in my calculations, I use the "Mixed" numbers which is about half as much and as a result, my formulae would recommend you into a 2x1 farm long before a calculation done using the "Read" numbers. Of course, I believe that, especially on an Intranet scenario, transactions will in fact be "Mixed" rather than "Read". On an Internet scenario, the "Read" numbers would in most cases be accurate, but by playing it safe, the formulae would rather give you too much horsepower than too little. Now on to the guide…

When you get to the "Estimate performance and capacity requirements…" section you'll note firstly the hardware recommendations. As you can see, the server setup that was used to provide us with actual transaction throughput benchmarks are all 64 bit servers. As a result, their performance is going to be far superior to 32 bit servers so if you're deploying 32 bit servers, be aware of this as everything is subject to the hardware specified in the guide. We find the recommended hardware being:

WFE Server - 2 x Dual Core Intel Xeon 2.8 GHz CPU, 4 GB RAM, 64 bit
SQL Server - 4 x Dual Core Intel Xeon 2.8 GHz CPU, 32 GB RAM, 64 bit
Client PC - 1 x Pentium 3 1.2 GHz CPU, 1 GB RAM, 32 bit

Note the massive amount of memory in the SQL Server. If you server has less memory, be aware that it will impact your performance.

Next you'll find a section on "Usage profile" which is really not relevant to our calculations but is only intended to provide you some perspective on the test environment from which the statistics was drawn. Go ahead and skip by this section.

Next you'll find a section on "Hardware recommendations". This is really confusing for many because we now have two sets of hardware specs on the same page. All this section is doing is to list the recommended specs for your SharePoint farm even though the test environment hardware was vastly superior. Go ahead and skip by this section.

The "Estimating throughput targets" section provides you a description of how to estimate your required throughput. What makes this section confusing is the fact that it contains references to both Requests per Second as well as Requests per Hour. The important section here is the Analyzing Log Files (IIS 6.0) section which will help you analyze your current SharePoint 2003 traffic and determine the targets you need.

The "Estimate throughput targets" section is an important section for us because it contains the performance matrix that we will use as the basis of our formulae in calculating our farm requirement. We're only really interested in the first two columns noting the farm configuration in the first and the Requests per Second in the second column. These are the base numbers we use in our formulae. Given the drop off in performance beyond a 5x1 configuration, we don't even consider anything beyond that.

In the "Estimate user response time" section the important thing to note is the three levels of response time i.e. 3-5 seconds, 1-2 seconds and sub 1 second response time that are available. There's a grid that attempts to draw the throughput and response times together, but it just confuses most people. Just note the response time options for now.

In the "Estimate concurrency rate" section, the really tricky question comes up. How many users are using the system at the same time? We have to estimate this unless you have some cool tools that does stats analysis that can actually give you the numbers, but generally using a 10% concurrency rate is a good rule of thumb.

The subsequent sections talk about the indexing window, disk space requirements and performance monitoring. You can skip over this at this point.

OK, so we've got all this data. Now how do we convert it into useful information i.e. a server farm requirement number? This is where I had to dust of the good old high school algebra. The first principle in calculating algebraic formulae is to get everything into a consistent unit of measure i.e. compare apples to apples not oranges.

We begin with the Estimated Throughput Target (ETT) which is simply a question of how heavily your users use the environment. ETT is usually expressed in Requests per Hour (RPH) and is based on a Throughput Concurrency Rate (TCR). As we mentioned, a TCR of 10% is a good rule of thumb value to use. Based on a TCR of 10%, usage levels are defined as follows:

  • Light usage = 20 RPH
  • Typical usage = 36 RPH
  • Heavy usage = 60 RPH
  • Extreme usage = 120 RPH

Taking the Farm Throughput Capacity (FTC) grid we have a RPS value for each farm configuration. Apples to apples remember? So we need to multiply that number by 3,600 to get it into a RPH number that we can use with our existing ETT values. Doing that we get:

  • 1x1 = 180,000 RPH
  • 2x1 = 356,400 RPH
  • 3x1 = 414,000 RPH
  • 4x1 = 432,000 RPH
  • 5x1 = 489,600 RPH

Now we take the Estimate Response Time (ERT) values grid. If we use the 1,000 user line as our benchmark we take the 0.7 RPS, multiply it by 3,600 seconds in an hour and divide it by 1,000 users and we'd get a RPH value per user. We do the same for all three response time levels and we get:

  • Slow = 3-5 seconds, server target = 2.52 RPH per user
  • Recommended = 1-2 seconds, server target = 3.6 RPH per user
  • Fast = <1 second, server target = 4.32 RPH per user

Lastly we are back to User Concurrency (UC) i.e. 1000 users with 100 actively using the system = 10% concurrency. Don't mistake this for the Throughput Concurrency Rate (TCR). They are not the same. Each will be represented in our formulae but they will each have the same value i.e. if you have a UC of 20%, then your TCR must also be adjusted to 20% in order to keep your statistics accurate.

As the guide mentions, determine the volume of data that can be indexed during the off hours window when no users are on the system so as to avoid indexing affecting performance during the day.

It is now time to put all this into an equation. We know that the Farm Throughput Capacity (FTC) divided by the number of concurrent users times the Estimated Throughput Target (ETT) times the User Concurrency (UC) proportionate to the Throughput Concurrency Rate (TCR) is equal to the Estimated Response Time (ERT). Since we have a stats matrix of Farm Throughput Capacity (FTC) values, all we need to do is determine our scenario's FTC value and match it up with the table to determine the farm we need. The equation translates thus:

FTC/((Users*UC)*ETT*(UC/TCR))=ERT

FTC
----------------------- = ERT
(Users*UC)*ETT*(UC/TCR)


FTC = ERT*(Users*UC)*ETT*(UC/TCR)


FTC   ERT*Users*UC*ETT*UC
--- = -------------------
 1           TCR


In our example, we're trying to solve the question of a 2000 user count with 25% concurrency requiring Normal response times under Heavy usage would require what farm? So substituting the values into the equation we get

FTC = (3.6*(2000*0.25)*60*0.25)/0.25

FTC = 108,000 which can be handled by a 1x1 farm.

OK, so to make this whole thing easier and to save everyone else a whole lot of time, I created a quick web application that prompts you for the input and then determines the final farm configuration for you. I call it SPCAP. Try it and leave your feedback here.

SPCAP – SharePoint Capacity Planning Tool

Later
C

Kick it Fave it Digg it Reddit Del.icio.us

Comments

http://microsoftwatcher.spaces.live.com/

Thanks Cornelius... I'll be putting this on my blog.
Where did you get the formula's... from HP ?

Ad
at 5/12/2007 11:23 AM

http://www.cjvandyk.com/blog

Hey Ad,

The formula is actually my own.  Almost anything can be calculated with an algebra formula of some kind. :-)

Later
C
Cornelius J. van Dyk at 5/13/2007 4:52 AM

sbottoms@lionelsawyer.ANTISPAM.com

Just came across your Capacity Planning tool, and it looks fairly interesting.  Have you considered adding licensing requirements to this page as well?  With changes in MS's licensing the last few years determining what licensing WILL WORK versus what MS wants us to buy would be a very useful tool in addition to what you've already built! :)

Thx,
SteveB
at 5/21/2007 4:46 PM

http://www.cjvandyk.com/blog

Hey SteveB,

I already maintain the defacto standard page for MOSS licensing at http://www.cjvandyk.com/blog/Lists/Posts/Post.aspx?ID=71 but your suggestion of building it into a tool is interesting to me.  I might give it a shot some time in the near future. :-)
Of course SPAdmin comes first...

Later
C
Cornelius J. van Dyk at 5/23/2007 1:21 AM

http://blogs.msdn.com/joelo

Hey Cornelius, the app breaks at more than 50000 users.  In fact if you put in 100000 it simply says NOT POSSIBLE, which I beg to differ.  You may need to add more SQL boxes, but maybe you should just change the error to say, This sample only works with 50,000 users.  It's funny that 10,000 is 1:1 while 50,000 adjusted to slower perf is 5:1.  We should be closer to 20-25K per WFE, but then....  Oh well.  Noble attempt.  HP will be demoing their tool at TechEd.  I'll be in line to check it out ;)

I don't see the 32 GB of memory on the SQL boxes as required, but then I konw the perf team didn't necessarily show you what it would look like with less :(
at 5/23/2007 10:25 PM

http://www.cjvandyk.com/blog

Hey Joel,

You are correct that the performance specs do not work as well on the higher end of user counts, but I could only go with the performance stats that the PERF team supplied.  They didn't supply any stats that high up so we have to formulate and calculate and unfortunately given the limited input information we have available, in theory it is not possible to handle 100,000 users on a single SQL Server.

Of course, one would be splitting content up into smaller components, adding more SQL boxes, especially geographically dispersed if a global audience is targeted etc. to make such scenarios work. ;-)

My goal is to take the specs that HP published on their blade servers and incorporate it into the app so if someone is using HP blades, they can more easily size their farm than before.  Hopefully I'll have some time to get to that soon...

Later
C
Cornelius J. van Dyk at 6/1/2007 7:29 AM

hs

ai jy lyk baie besig. Sharepoints met jou vriende is te min moet jou capacity oplig maar ek dink jou algebra sla dalk jou n beter formule gegee. dit is koud en ons het reen in pta gekry kan jy dit glo
groete
at 6/6/2007 3:44 AM

rajiv13579@yahoo.ANTISPAM.com

Hi Cornelius,

It is THE tool required by me and many other people for along time.Thanks for creating this.
One thing which i need to understand here is that after arriving at FTC,how do you map it to number of servers required.
Are you using any of the tables provided at http://technet2.microsoft.com/Office/en-us/library/0a7b2b45-f633-46d2-a4fd-78691d4b8f631033.mspx?mfr=true or is there any other matrix which you are following. Please let us know about this as it would be of great help.

Cheers
at 6/14/2007 6:34 AM

mks707@yahoo.ANTISPAM.com

As per your blog, "if you have a UC of 20%, then your TCR must also be adjusted to 20% in order to keep your statistics accurate".
However in the example given by you"FTC = (3.6*(2000*0.25)*60*0.25)/0.1 ",you have not adjusted tcr to 25%(you have taken it as 10%) while UC is 25%.
Can you please help me in understanding this.

regards
at 6/15/2007 6:32 AM

http://www.cjvandyk.com/blog

Hey Rajiv,

Thank you for your support.
I am glad that SPCap is useful to you.
To answer your question, yes, I am using the table in the TechNet article to map FTC to the required farm configuration.

HP recently published their Blade Server stats for SharePoint and I am looking at enhancing SPCap to include the option of selecting HP Blades in determining the farm configuration required.

If you have any more questions, feel free to ask. ;-)

Later
C
Cornelius J. van Dyk at 6/17/2007 2:44 AM

http://www.cjvandyk.com/blog

THANK YOU mks!

You are correct.  My blog entry did indeed have a calculation error.  I did not follow my own rule of adjusting the TCR to match the UC.  That oversight also carried into the tool's calculation engine. :-(
At least the tool has not been giving under-recommendations! ;-)
In our scenario, it now only requires a 1x1 farm to handle 2000 users.
Anyway, I've updated both the tool AND the blog post.

Thank you again for diligently checking my algebra! :-)

Later
C
Cornelius J. van Dyk at 6/19/2007 1:23 AM

http://www.cjvandyk.com/blog

I wish to address Joel's (http://blogs.msdn.com/joelo) comment from 5/23.
In it he mentions that SharePoint should be able to handle 20K-25K per WFE.
Given my correction of the formula I just re-deployed, I tested and at normal usage levels with 10% concurrency, a single WFE can handle 13,888 users.

In fact, with the corrected formula, a 5x1 farm with 10% concurrency, light usage and 3-5 second response time, can handle 97,142 users.
That is certainly in line with the 20K-25K expectation Joel had.
In addition, my calculations always use the Mix rates as apposed to Read rates.  With Read rates coming in at least twice that of Mix rates, it stands to reason that a 5x1 farm with almost exclusive publishing i.e. read transactions could potentially handle up to 200,000 users or 40,000 users per WFE.

Later
C
Cornelius J. van Dyk at 6/19/2007 2:01 AM

rajiv13579@yahoo.ANTISPAM.com

In response to Joel article, you have mentioned in your post that a single WFE can handle 13888 users.just wanted to clarify about whether these are active users or total users.

Can you please also clarify a bit more about the difference between TCR and UC(please give any example if possible).

Cheers
at 6/19/2007 3:17 AM

http://www.cjvandyk.com/blog

Hey Rajiv,

The 13888 users with "normal" usage levels is based on 10% concurrency, typical usage with 36 requests per hour and normal response times of 1-2 seconds.

If you have light usage at 20 requests per hour and 3-5 second response times with 10% concurrency, then the number of possible users jump to 35714.

As I pointed out in my comment to Joel, I use the conservative estimates which means I use the "Mixed" traffic rates in the performance table instead of the "Read" rates.
If you look at the performance tables, you'll notice that for a single server, Mix rates are at 90,000 total connections while Read rates are at 180,000 connections.
So it stands to reason that if you have a pure publishing type of scenario where your users only Read for the most part with very little, if any Write activity, the number of users on a single WFE server could rise to 71,428... potentially.

Of course I'd never recommend cutting it that close because things are never what we expect them to be and it's hardest of all to judge usage levels and concurrency unless you've used some analytics to analyze your portal traffic.

The difference between the Throughput Concurrency Rate (TCR) and User Concurrency (UC) is simply this... TCR makes UC relevant.
See, TCR is used in the expression of the Estimated Throughput Target (ETT) which provides you with a requests per hour value.  If 100 total users are on the system and 10 are active at any moment in time, that gives us a User Concurrency (UC) of 10%.  In effect, we're only calculating the ETT of 10 users.  If all 100 users were active all the time, the UC would be 100% and we'd have to calculate the ETT for 100 users.
That is why TCR matters.  In short, TCR is basically UC as used and expressed in the ETT expression.

That is why TCR and UC must always remain the same because if the ETT table published with a TCR of 10% is our basis but we have a UC of 20%, then of course we have to consider 1/2 the values in the ETT table in order to be accurate.

In my formula, you will notice that UC and TCR basically cancels each other out, but I felt it was important to keep them in the formula for the sake of not confusing people and showing that we do consider them in the equation.

I hope that answers your question a little bit more clearly. :-)

Later
C
Cornelius J. van Dyk at 6/20/2007 2:03 AM

rajiv13579@yahoo.ANTISPAM.com

Thanks for your elaborate reply.
Sorry if this messgae don't apply to this thread but i am prompted to ask this question after looking at the great tool provided by you.
Can you please guide me to any site where can get formula or tool to calcualte number of servers and/or performance(more important) by giving the number of objects and commuinication like WCF,remoting,scoket etc.
Actually i need to know how to calculate approx peformance of a .net application or a web service in the architecture phase.

Cheers
at 6/28/2007 6:33 AM

http://www.cjvandyk.com/blog

Hey Rajiv13579,

I am unfortunately not able to help you in the area of .NET performance planning, but you could try to touch base with one of the Team System MVP's who might have some resources for you or know where to point you.
They are listed here:
https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&competency=Visual+Developer+-+Team+System

Later
C
Cornelius J. van Dyk at 6/29/2007 5:38 AM

zhussain@microsoft.ANTISPAM.com

Fantastic!!

But do you have a similar tool for WSS v2 or know where I can get it from.
The equivelant white paper can be found at
http://www.microsoft.com/resources/documentation/wss/2/all/adminguide/en-us/stsb07.mspx?mfr=true


Z
at 8/29/2007 4:34 AM

http://www.cjvandyk.com/blog

Hey Z,

Unfortunately I do not have a similar tool for WSS 2.0.  If my schedule ever dies down, I might look at the white paper you listed and modify SPCAP to have a 2.0/3.0 option. ;-)

Later
C
Cornelius J. van Dyk at 8/31/2007 5:17 AM

rajiv13579@yahoo.ANTISPAM.com

Hi Cornelius,

I am back again!
I have the following figures to do the capacity planning of a project:
1)Number of users 50000
2)User Concurrent = 10%
3)Requests per hour = Typical(36 request/per hour)
4)Response time = either <1 sec or 1-2 seconds

I tried putting these values and calulating nymber of servers using SPCAP, but it says "Not Possible".Can you guide me this as what would be the approximate figure based on your experince and HP recent white paper as mentioned by you in one of your earlier responses.

Thanks and Regards
at 10/1/2007 5:59 AM

http://www.cjvandyk.com/blog

Hey Rajif,

Yeah, that's kind of a design thing that's been bugging me.  In a future version of SPCAP, I'd like to redesign the output to rather calculate response time as a variable result rather than trying to frame it into 3 options.

OK, so the truth of it is that theoretically you cannot achieve a 2 second response time for 50,000 users with 10% concurrency and Typical usage of 36 requests per hour.
If you change the response time to 3-5 seconds though, SPCAP reports that a 5x1 server farm can do the job.

What does that mean?
Well, it means that with an 8x1 farm you'll probably get around 3 seconds response time, but you cannot get 2 seconds.

See, I'd like to have SPCAP rather just report the expected response time instead of saying it can't be done because we all know that you can put that many users on the system.  It's just a matter of response times slowing down, that's all.

But that would be another time... another galaxy far, far away... oh yeah, we're on Earth aren't we?  ;-)

Later
C
Cornelius J. van Dyk at 10/2/2007 7:56 AM

rajiv13579@yahoo.ANTISPAM.com

Hi Cornelius,

Thanks for your explaination.
Now i am trying to find out as what approach is been followed
to arrive at this formula am going through the formula used by you.
I am not able to arrive at any conclusion,
though i went through your whole article and also the relevant microsoft article.

Please note that i am not challenging this formula but only trying to understand this formula,
so that i can explain the same to others.

If we go by comparing unit of left and right hand side of the formula
FTC/((Users*UC)*ETT*(UC/TCR)) = ERT,

it is

Request/Hr/(Number of concurrent users * Request/hr/user)*Numeric/Numeric = Request/Hr

So cancelling the common units,it comes out to be
request/hr = numeric(some number) which is not true

Can you please explain the validity of this formula on the basis of algebra and units on
both side of the equation.

Thanks again for this wonderful capacity planning tool.

Regards
Rajiv
at 10/4/2007 6:33 AM

http://www.cjvandyk.com/blog

Hey Rajiv,

The reason your equation is not working out is because you're not substituting the formula correctly.
OK, so the formula is:

FTC/((Users*UC)*ETT*(UC/TCR)) = ERT

For algebra's sake, we'll simplify it by substituting:
  FTC with a
  Users with b
  UC with c
  ETT with d
  TCR with e
  and ERT with f

Thus the formula now reads:

a/((b*c)*d*(c/e)) = f

Now I don't see any common units in this formula that can be cancelled out.  "f" stands alone in the equation and only "c" is used more than once.
Multiplying either side of the equation with

  ((b*c)*d*(c/e))

gets rid of the fraction on the left leaving "a" (our FTC value) alone.  That's the value we're after because those are the numbers we have in published grid format from Microsoft.
So then the other side of the formula is

  f*((b*c)*d*(c/e))

and the entire formula translates back to

  FTC = ERT*(Users*UC)*ETT*(UC/TCR)

We substitute in the values we have i.e.

  Expected Response Time (ERT) = 3.6 requests per hour
  Users = 2000
  User Concurrency (UC) = 25% = 0.25
  Estimated Throughput Target (ETT) = 60 requests per hour but that's at a given Throughput Concurrency Rate (TCR) of 10% so in order to standardize that ETT, it must be based off of 10% UC, but our UC is 25% so therefore we multiply by UC/TCR.

I don't know how to explain it any better than that.

I hope this makes better sense now...

If someone doesn't like how you're explaining the algebra, just point them at this post.

Later
C
Cornelius J. van Dyk at 10/5/2007 5:59 AM

thompson2000seattle@yahoo.ANTISPAM.com

Hey Cornelius,

That's an amazing tool.God bless you.It helped me a lot.

Can we use this formula for capacity planning of asp.net web applications also, atleast for arriving at an approx figure.
If we cannot, can you provide us with some similar formula to do capacity planning for asp.net web application.

I read many articles like "http://msdn2.microsoft.com/en-us/library/ms979198.aspx" etc but things covered by you like response time factor are missing in all the calculation.

Any pointer towards good capacity planning book will also work.

Regards
at 10/8/2007 3:40 AM

nitin.ja@hotmail.ANTISPAM.com

Hello Cornelius J.van,

Please refer to Microsoft presentation on the link below.

www.suguk.org/suguk%20capacity%20planning.ppt

In this presentation, author has taken all the typical figures like 10% concurrency,typical load of 36 requests per hours.
However it recommends 2*1*2 for 100000 users and 4*3*2 for 500000.
For 100000 users, it doesn't match with the figures provided by your tool.Please help me in understanding this and how to proceed further.

Cheers
at 10/9/2007 7:30 AM

http://www.cjvandyk.com/blog

Hey Thompson,

I'm glad SPCAP was useful to you.
As for your question about it being used for ASP.NET capacity planning...
ASP.NET web servers do not generally serve their content up from SQL Server databases but rather mostly from the file system.  That said, most ASP.NET web apps usually have some kind of SQL data backend anyway.
I guess SPCAN could give you a ballpark indication of response times, but I wounldn't take it as hard fact.

As for books, I don't have a particular recommendation, but I'd probably start here:
http://www.amazon.com/Capacity-Planning-Web-Performance-Metrics/dp/0136938221

Later
C


Cornelius J. van Dyk at 10/10/2007 2:41 PM

http://www.cjvandyk.com/blog

Hey Nitin,

Firstly, let me just say that I know Steve Smith.  He's one of my fellow MVPs and an all around great guy.

Now as to why his statistics may seem inflated...

I looked through the entire presentation and it should be noted that his architectural design calls for separate index servers (rightfully so) which would offload a large part of the load from the web servers.  If you've ever run a single server solution you know what a major impact the indexer can have on performance.

Additionally, the presentation does not mention response time anywhere, but only that the users are typical.  A typical user conducts 36 requests per hour.  That translates into one request every 1 minute and 40 seconds.

As I have previously pointed out in the comments above, the SharePoint servers can handle many more users and my tool does state "Not possible" when the numbers become too big.  As I indicated, that's something I'm hoping to correct one day when I have some more time.

In reality what will happen is that the servers will be able to handle the load in terms of users, but the response time the users experience will deteriorate as more users are added.
Thus putting 500,000 users on a 4x3x2 system will work, but instead of getting 1-2 second response times, they may only be getting 6 second response times for example.

SPCAP was built using published performance data from Microsoft, which I cite in my article.  Many factors will affect real world results, not least of which would be network traffic and bandwidth.
Also, if the server specs are adjusted, that will also play into the equation.

Capacity planning is hard if you do not have a constant base to go by.  My advise is to always try and use a constant base.  Do not use published values if you know you won't have the matching hardward to support the values.

I hope that makes a little more sense of this.  ;-)

Later
C
Cornelius J. van Dyk at 10/10/2007 3:07 PM

armasood@hotmail.ANITSPAM.com

Hello Cornelius

Thanks for the great tool - this is exactly what I was looking for. Most of it is clear but I am having problem with ERT (Estimate Response Time). Looking at the estimated response time grid in the technet article, shouldn't ERT be a numeric multiplier (without any units) with values of 0.7 for slow, 1.0 for Recommended and 1.2 for fast Response rather than 2.52, 3.6 and 4.32?

The way I am reading the estimated response time grid is that if 1 times RPS value (calculated by rest of equation) is good to give the recommended response then to get a sub second response you would need 1.2 times calculated RPS

-AM
at 12/27/2007 2:33 PM

aleksandrr@gmail.ANTISPAM.com

Thanks for this article, it is really good!
But unfortunately I still cannot understand the algebra. There was the same question from Rajiv, you tried to answer it, but I still cannot get a point.


You wrote final formula as this:
FTC = ERT*(Users*UC)*ETT*(UC/TCR)

Dimensions of these elements are: ERT [RPH], User [dimensionless], UC [dimensionless], ETT [RPH], TCR [dimensionless].
So, if we write these elements with their dimensions, it would be:
FTC = RPH * RPH = RPH^2,
but FTC must be with RPH, not RPH^2.

I think there is something wrong with this formula, may be there is missing one more element to standartisize the result or smth.. You couldn't mathematically calculate or compare variables with different dimensions. May be results calculated with this formula are almost correct, but mathematically the formula is very wrong..:(

Maybe I cannot get something correctly? It's really important to me to get an answer how to explain this, so I would appreciate if you try to help me.:)
at 1/1/2008 2:23 PM

http://www.cjvandyk.com/blog

Armasood,

There are so many things that affect response time that its hard to calculate accurately.
It seems to me that you have a different interpretation of Microsoft's tables than I do.
I don't see it the same way you do, I'm afraid.
The grid clearly notes seconds response time.

Thanks
C
Cornelius J. van Dyk at 1/7/2008 7:30 AM

http://www.cjvandyk.com/blog

Alexandrr,

I simply extrapolated the TechNet formula down to common dimensions.
Firstly, the final formula is actually:

FTC = (ERT*Users*UC*ETT*UC)/TCR

Now I'm not match genius, but I'm pretty sure the formula is OK.
I'm not comparing different dimentions because all request elements have been reduced to Requests per Hour and the other elements are the number of users, which affect the RPH, and the User Concurrency which also affect the RPH.

If you believe my formula to be incorrect, please feel free to propose the corrected version here and we can debate it freely and openly.

Thanks
C
Cornelius J. van Dyk at 1/7/2008 7:42 AM

krutika.brahmbhatt@gmail.ANTISPAM.com

Hi,

This is a great article. However I am bit confused in calculating the factors like ETT , ERT , TCR.

Can you kindly provide formulae for the same as well. Also how do i calculate the Supported Users for the ETT if my RPS is greater then 1 ?

If you can help on the same it would be great.
at 2/29/2008 2:46 AM

http://www.cjvandyk.com/blog

Hey Krutika,

As this post mentions, the calculation is extrapolated from this Microsoft article:

http://technet2.microsoft.com/Office/en-us/library/031b0634-bf99-4c23-8ebf-9d58b6a8e6ce1033.mspx?mfr=true

Please review the article and see if it can answer some of your questions.

Thanks
C
Cornelius J. van Dyk at 3/3/2008 6:20 AM

http://weblogs.asp.net/erobillard

Great tool, used it in the past but today appears broken:
http://www.cjvandyk.com/blog/aspx/SPCap.aspx

Cheers,
-Eli.
at 3/23/2009 11:21 AM

Add Comment

PLEASE NOTE
Comments are moderated so posting your comment here, will NOT make it visible right away.  Once I've reviewed your comment, I will publish it for all to see.  This is unfortunately needed in order to deal with all the crapware and spambots that post to my blog on a regular basis.

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Your Email or Blog URL *


Body *


Attachments