Hello,
We’re planning a SharePoint application in which more than 20 000 users are supposed to vote for a decision in a short period like 15-20 minutes. I wonder whether SharePoint is able to handle so many requests at a time and, if not, what could be a better solution architecture closely integrated to SharePoint (external storage, stand alone asp.net web app and so on)?
Thanks.
Why don’t you emulate the load in the evening (out of hours) and see what performance you get ? All you need to do realistically is create a list and emulate the load over 15 minutes. Visual Studio load testing will help. You will also need to take into account normal SP usage.
I wrote a blog and whitepaper (showing results) .. should help : http://sharepoint-community.net/xn/detail/6614983:BlogPost:16331
To crank out that loads you will probably need 10+ machines with the build agent on them.
5000 items for non-admins and 20 000 items for site admins. Such are the thresholds.
Unfortunatelly I can’t say about any of configuratoin because we have to provide minimal hadrware and archiectural requirements in order for our app to work.
My items vew is a secondary step. The first step is when the voting period starts the app has to collect all the votes and store them somewhere. This is the main requirement: all 20 000 people must be able to vote in a 15 minute period and all their votes must be saved in a storage for further processing.
So we have to specify for our app something like: your hardware and software environments should be at least like this: blah blah blah.
What are the spec for your WFEs?
For 20.000 elements in a list, I suggest building a “My items” view based on an user type field. Turn on the index generation for that field and show the user only their own elements on the default view with a [Me] filter. Otherwise you may get into performance issues in terms of listening all items several thousand times. If I remember it correctly the default threshold for a list is about 15.000 elements. In list settings you will see a bar raising in terms of max count of items. Do not ignore this warnings, believe me 😉
In terms of servers the minimum for me is two, at least in terms of fail over.
h2h
Thank you Mark for your quick reply. On your points:
- How may servers in your farm and what spec – 1 or 2 servers
- Where will the votes be saved to SQL, list, external service (if the latter you might need to consider blocking calls). — the first variant is to store the voting results in a sharepoint list.