What are the recommended specifications of Virtual Machines (Hyper-V) to run Sharepoint 2010 for around 400 people? - sharepoint-2010

I have been tasked to set up SharePoint 2010 on a Virtual Machine (Hyper V), and I have loads of resources at my disposal. I want to know what will the best practiced (or optimal) hardware and software specifications be to set up SharePoint 2010 on this Virtual Machine, it needs to at least support up to 400 people. I found some guides on the Microsoft website at http://technet.microsoft.com/en-us/library/cc262485.aspx . As far as I know, Microsoft sees Small Deployments as machines that are able to support 2500 people, which is way too much for me.
Can anyone please help?
EDIT
Server 1 – Web Frontend Server
• Windows 2008 R2 64-bit
• CPU: ?
• RAM: ?
• HDD Space: ?
• External IP? Yes/No
• Ports open: 80, 443, ???
Server 2 – Application Server
• Windows 2008 R2 64-bit
• CPU: ?
• RAM: ?
• HDD Space:
• External IP: Yes/No
• Ports Open: 80,443, ???
SQL Server
• Standard/Enterprise edition?
• New Instance?
• Service account for instance?
• Full-text search?
• Maintenance plans?
• Space requirements?
Sharepoint Setup
• Domain name: ???.XXXXXXXXX.XXX
• Email Server to use: ???
• Service Accounts: XXXXX\???
** ANOTHER EDIT **
I already have some of the data, like SQL Data. Ignore SQL

The Planning guide for server farms and environments for Microsoft SharePoint Server 2010 http://www.microsoft.com/download/en/details.aspx?id=21097 will give your more precise answers than I'll ever will but anyway :
For 400 users, depending on the actions that your users will do and the number / load of synchroneous operations, you could even go for a standalone farm (everything on a single server). If you have a separate SQL Server 2008 Server, that will be even better as all database operations will be handled by this additional server.
You'll want a 64 bits Windows 2008 R2 / SQL Server 2008, at least 8gb of ram (the more you can give, the better).
Microsoft recommand at least a four cores CPU but you can go with only 2 (but you don't seem to have issue with ressources) For your WFE / App server I would allocate 80 ~ 120gb of disk, for the SQL Server, it will depend on the content / database recovery model / versioning you'll have (and many other factors like the search database size if you plan on having search functionnalities).
At the end, it's all about the usage of your farm. You can have 400 users on which 80% will read data while only 20% will contribute or you can have 10 users that will inject gbs of data each day... It's hard to advice you without knowing the business requirements that you need to fullfill.
Also Checkout the capacity planning from MS : http://technet.microsoft.com/en-us/library/ff758645.aspx, http://technet.microsoft.com/en-us/library/ff758647.aspx as well as for SQL Server with SharePoint in mind : http://technet.microsoft.com/en-us/library/cc298801%28office.14%29.aspx

Related

SQL Server Express 10 gb limitation workaround using multiple schema

We are developing an intranet web application for our organization via third party vendor and the vendor who is implementing this for us has provided SQL Server Express edition. As we know, SQL Server Express has a limitation of 10 gb only so we have asked the vendor to provide SQL Server Standard or other paid licensed db with no size limitation.
But the vendor is saying that they have implemented system in such a way that automatically new schema is created by system periodically such that 10 gb limitation will not impact system. As per vendor multiple schema are automatically used by application as required with no manual intervention. So according to vendor 10 gb limitation is not a problem.
But we are not satisfied with vendor reply.

SQL query is running 10 times faster on local desktop SQL Server Express than on SQL Server in Azure

We are currently running two instances of SQL Server. For development purposes, we run a local DB on a desktop PC in our office.
The PC has following stats:
8 GB Ram
AMD Athlon 5350 APU with Radeon(tm) R3 2.05 GZ
64 Bit Windows 8.1
Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Express Edition (64-bit)
HDD Seagate ST1000DM003 1 TB
The server is located in Azure as VM Standard-Tier A3 running the pre-provided Windows Server 2012 R2 Datacenter image
Now we are facing a problem that the exact same query is running locally on the desktop 10 times faster than the on the server.
I connect to the pc with a local installed Management Studio via TCP/IP over our local network. When I connect to the server I use Remote Desktop connection and start a local instance of management studio on the server.
I have changed already the connection mode from default to TCP/IP on the server which brings me to the factor 10 times slower with default connection it will be 20 times slower. Even changing to named pipes the performance is worse.
Also rewriting the query and using different approaches, always the express version is much faster than the server. We did not do any configuration or tuning on the installation of the express version so on the server side.
Any comments a very appreciated!
Best
Simon
You should add the following at the top of the query to see where the differences are:
SET STATISTICS TIME ON
SET STATISTICS IO ON
Is your Local machine have SSD ? If it's the case, it's normal.
Try to rebuild indexes used.
Update the Database/Table statistics. The Execution Plan can be the same, but with bad stats, I've often saw very low performance. Especially if you make a lot of insert/delete.
You can see if something is wrong with SET STATISTICS IO ON. Look at the logical reads on tables, the orders of workfill tables, etc. Check if it's different from the local server.

SQL Script in VM taking long time for execution

I have the Execute SQL Script package that contains the script to insert about 150K records.
Problem in here is when I execute the package in the Virtual machine its taking 25 min's approx and the same package in physical machine its taking 2 min's
Question 1? Why its taking that much time to load the same data in VM.
Question 2? How to solve this performance issue.
Physical machine configuration has 4GB Ram and 250GB HD + Windows server 2008 R2 + SQL server 2008 R2 Standard Edition.
Virtual machine has the same Configuration
Update: The Problem is with the SQL Server in VM.
Question 1? Why its taking that much time to Run the same script in VM.
Question 2? How to solve this performance issue.
Both the batabases schema in Physical Machine and VM are identical. Other databases are also same. There was no indexing applied for that tables in both machines. Datatypes are same. harddisk as I said has the same configuration.
No RAID is done on both the machines.
Physical machine has the 2.67GHz RAM Quad Core and in the virtual machine has the
2.00GHz RAM Quad Core
Version of SQL PM:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
Version of SQL PM:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (Hypervisor)
I executed the script Execution plan for both are the same as there is no difference in plan.
Vendor is HP ML350 Machine.
There are almost 20 VM's on the same physical server out of which 7 servers are active.
There's an article about properly setting SQL's configuration for a VM implementation here: Best Practices for SQL Server. Below is an excerpt, though the article includes other tips and a good performance testing plan:
Storage configuration problems are the number one cause of SQL performance issues. Usually these problems arise because the DBA requests a virtual disk of the VI admin, the VI admin places the VMDK on a LUN that may or may not meet the DBA's performance needs. For instance:
VMs' VMDK files placed on VMFS volumes without enough spindles.
Many VMDK files placed on a single VMFS volume which could use more spindles.
Database and log files placed on the same LUN which, you guessed it, could use more spindles.
This may be obvious to some, but this problem occurs again and again. The VI administrator should be aware of a few technical items that can help understand and avoid this problem:
Based on the IO demands of the DB files, a certain number of
spindles should be guaranteed to this file. This means that its
VMDK must be placed on a VMFS volume to accout for the SQL Server's
demands and all of the other demands on that volume.
Mixing sequential activity (such as log file update) and random activity
(such as database access) results in random behavior. This means
that the LUN configuration in the pre-virtual physical environment
may not be sufficient for the consolidated environment. This is
discussed some in Storage Performance: VMFS and Protocols.
When storage isn't meeting the SQL Server's demands, the device latency
or kernel latency (queueing time) will increase. Read up on these
counters in Storage Performance Analysis and Monitoring.
The most common cause for this problem is the lack of RAM. Having everything setup on a small 4GB RAM machine is your problem.
When you try to load those 150k rows into memory (remember, everything that happens in SSIS is in memory), a lot of those rows are being handled by your pagefile.
Pagefile on your VM is a lot slower than the one on your physical machine.
To solve this, increase the amount of RAM on your virtual machine.
I have a similar problem.
Two client machines (one physical, one virtual) execute a batch using SQLCMD. This batch calls a Stored procedure on a physical server (so it's not a memory problem since the elaboration is only on server side).
The batch executed from the physical machine takes 20 minutes. The batch executed from the virtual machine takes 1 hour and 20 minutes.
Using SQL profiler I noted that in the case of slow execution there is a wait type ASYNC_NETWORK_IO.
Probably the virtualized network layer is not optimized.
Could you run a SQL profiler and check if you see the wait type ASYNC_NETWORK_IO?

What are the recommended BEST CASE hardware requirements for TFS 2010

i have installed TFS 2010 in a 2 server setup with an App Tier server and a SQL Server and am not 100% happy with the performance.
Both are running in VM's on SAN disks and have been given the following virtual hardware each:
Windows 2008 R2
1 CPU # 2.8Ghz
2gb RAM
what should i lift - neither machine is hammered but both do go up to 80% when people are doing things on them - should i add another CPU to each - usually this is now required in a VMWARE setup but i don't know if TFS 2010 takes advantage of an extra core???
thank you in advance :-)
It would appear that i am more having issues with sharepoint going cold on non-peak use projects.
By installing an IIS app warmer, i solved all my problems:
http://www.diaryofaninja.com/blog/2010/05/06/keep-your-aspnet-websites-warm-and-fast-247
I am running my app server with 2 virtual cores and 2gb of RAM and it's booming
I have the database server using 2gb RAM and a single core

SQL Server 2005 workgroup edition users?

How many concurrent users on a Sql Server 2005 workgroup edition?
1 database?
Entire server?
There are no built-in limitations - from SQL Server 2005 Workgroup Edition:
Workgroup Edition is the data
management solution for small
organizations that need a database
with no limits on size or number of
users. Workgroup Edition can serve as
a front-end Web server or for
departmental or branch office
operations. It includes the core
database features of the SQL Server
product line and is easy to upgrade to
Standard or Enterprise Edition.
There are no limitations on the number of users. The limitations primarily are:
Doesn't run in 64bit mode (Uses Windows On Windows if
installed on a 64bit OS) - therefore it has a 3GB ram limit
Limited to 2 CPUs
That being said, I also found the lack of Integration Services running on the engine (you could do it as a file that runs with the Windows scheduler) somewhat of a pain.