Showing newest 8 of 11 posts from June 2009. Show older posts
Showing newest 8 of 11 posts from June 2009. Show older posts

Sunday, June 21, 2009

Architecting a Solution - Best Ways to Grow a Global Solution

Overview


This is also “Where do I start, if I have only a few servers to start with?” question. All the work in SharePoint is in creating the structure. To create the best structure for your corporation you need to understand: How business processes and culture operate (this will often sell SharePoint), How SharePoint farms work, How to organize your Portal, How to support your implementation and How to scale out your services.

Understanding Business Processes
Business processes are the inputs and outputs of the system and you can map SharePoint technologies to business processes very easily. An example of a business process may be a form that is filled out generates and email that is sent. Example features might include InfoPath Form Services, Outbound Email, Document Approval and Retention.

SharePoint Features
  • Publishing Portal
  • Collaboration Portal
  • Search
  • Customizable web sites for collaboration via
  • Document Libraries
  • Discussion Lists
  • Custom Lists
  • Wiki Support
  • Blog Support
  • Publishing/Intranet Template
  • RSS support for each type of library
  • User controlled e-mail notifications
  • Microsoft Office 2003 & 2007 Integration
  • Recycle Bin for deleted list items and documents
  • Security Trimmed User Interface
  • File Versioning
  • Customizable branding of sites
  • Comprehensive SharePoint Search of:
  • Entire SharePoint Implementation for data
  • Search People
  • Individual Site Search
  • Custom Search Scopes
  • Extranet Access
  • Business Data Catalog Support
  • MySites
  • Excel Services
  • InfoPath Forms Services
  • SQL Reporting Services Integration
  • Business Intelligence and Dataview WebParts
  • Records Management
  • 3rd Party WebParts

Understanding SharePoint Farms

SharePoint Farms are designed around the usage patterns of the services offered. Microsoft has best practices for the Publishing Portals, Collaborations Sites, Search, and My Sites. When deploying SharePoint, deploy farms around usage patterns so that you can scale out the systems appropriately.

Separate
  • Portals
  • Collaborations Sites
  • Search
  • MySites

If it’s not feasible to separate these activities consider the resources and usage patterns when designing your SharePoint Farms.

  • Portals and Search both utilize ram efficiently for caching.
  • Portals and Search are both accessed by the entire organization.
  • Collaborations Sites and MySites update files continuously and are read-write intensive.
  • MySites operate as small site collections.
  • Typically SharePoint Applications start in Site Collections.

Organizing a Portal

A Portal is a set of mostly static web pages that operate as a gateway to other services. It’s important for the portal interface to be consistent. To build a portal you need to create a taxonomy of the organization. Almost all organizations have a heterogeneous makeup:

Potential Metadata
  • Region
  • Division
  • Department
  • Function
  • Audience
  • Role
  • Topic
  • Program


There are many books on portals and they deserve their own paper. Read one!

Supporting your implementation

A Quick Note on High Availability: A popular misconception is that virtualization is high availability. This is not the case, virtualization can create additional hardware availability but does not account for software issues inside the virtual machine for true high availability you have to have redundancy, which means redundant servers, software and data. Consider which components of high availability your organization might need carefully.

When considering your overall implementation of SharePoint it’s important to think of support before and not after production status is “live”. Remember that Portals, Search and MySites are commonly used by the entire organization and may require high availability. Collaboration Sites and SharePoint applications often have third party tools installed which will affect the overall availability of the site. In addition Collaboration sites with large content databases require more maintenance. In addition, Microsoft Best Practices state that some operations need to be completed in the 12 hour off hours interval (read backup and indexing). Utilize a regional support domains whenever possible.


Scaling out your services

There is a misconception out there that you need multiple SQL servers for multiple SharePoint farms and that is not the case. It’s easy to start a multi-farm scenario with a single sql server especially with SQL aliasing. I do recommend multiple instances on that server if possible so that you have separate support domains.

How to start Small – Create your farms and then Scale them Out!

  • Use Multiple Instances of SQL (Not Requited)
  • Use SQL Aliases (Easy to Scale out SQL Servers
  • Add Web Servers





Sunday, June 14, 2009

Migrate SharePoint - Migrating Across Versions

Overview
When you migrate SharePoint Sites typically you would do a backup and restore operation with STSADM. It’s best to migrate to the same version, but this is not always possible. Here are a few things I have found out while doing migrations.
You can go UP but you cant go Down:
Most of the time you can go to a later version but never an older version, if you try to go to an older version you will receive an error message something like this:
“Your backup is from a different version of Windows SharePoint Services and cannot be restored to a server running the current version. The backup file should be restored to a server with version ‘12.0.0.6318’ or later. “
Beware the Infrastructure Update:
Trying to go past the Infrastructure Update from a server before it will generate an error message about an index property not being set on the content.
It’s fairly safe to migrate from 12.0.0.4518 up to 12.0.0.6303 and also
From 12.0.0.6318 (Infrastructure update) to 12.0.0.6421 (SP2)
Whenever you go across versions you are taking risks that will hopefully pay off in time savings so Test Your Migrations.

Wednesday, June 10, 2009

SharePoint Capacity Planning -Scaling UP CPU and Memory

Overview


I am testing SharePoint Scale Up performance for a migration that I have to do for an enterprise customer. To keep the farm in balance I am going to use a farm-in a-box virtual server with a limited data set and scale it up with 3 separate test configurations:

  • Configuration A is 1 Processor and 4 GB memory
  • Configuration B is 2 Processors and 8 GB memory
  • Configuration C is 4 Processors and 16 GB memory

The Disk Subsystem will not change nor will the type and quantity of the data operations performed. All servers will use 6 15K SAS drives configured in a raid 5. The purpose of this test will be to examine farm operations (Adding Content Databases, Adding Site Collections, Indexing and Profile Import) and consider scale up performance.

Numbers in all Graphs represent MINUTES and smaller numbers are better.

Farm Operations

The following measures were implemented with Powershell scripts similar to the one below.

get-date
$N=0
do {
$N=$N+1
stsadm.exe -o addcontentdb -url "http://siteurl" -databasename Contentdb$N
}
while ($N -le 100)
get-date

(Note I used very similar scripts for the rest of the operations.)


Database Creation



A little bit inexplicable, the configuration with the most resources actually took a few minutes longer to create 100 databases.



Disconnect Databases



While disconnecting the databases there did not appear to be any advantage to higher number of CPUs or memory.



Site Collection Creation

I tested Site Collection creation two ways, by having the server create 100 sites sequentially and then having the server create an additional 100 sites in two parallel process.

100 Sequential Site Creation

There was a nominal improvement on single process site collection creation.

50x2 Parallel Site Creation

In this case there was a some improvement between Configuration A and Configuration B.


Indexing

The index server was set to partly reduced as this is a farm in a box configuration. The index server did not have any impact rules applied. Before Each full index I reset all the index content. In each case the same number of results was indexed.


During most operations the CPU Usage was low, however during indexing the web application and SQL Server used the maximum CPU available. This is the nature of the indexing process, even when its set to partly reduced its processing intensive for both the SQL Server and the Web Servers.



During a full crawl our CPU was pegged regardless of the number of CPUs:

Configuration A:

Configuration B:

Configuration C:



An increase in performance from Configuration B to Configuration C.


Profile Import

The script below was used to created 10,000 user accounts for the profile import test:


I tested both incremental and full imports and the server CPU pegged when I started the import pretty much regardless of the number of CPUs:

Configuration A:

Configuration B:

Configuration C:



Definite increase in performance from Configuration A to Configuration B.


Definite increase in performance from Configuration A to Configuration B.


Conclusions

Latency is the number one issue for SharePoint Performance and the biggest gains were seen during the jump from a single cpu to a dual cpu because of a dramatic decrease in latency. SharePoint was noticeably faster in Configuration B and Configuration C. Even with lower latency though single threaded operations can only proceed so fast, site creations speed did not increase significantly regardless of the configuration until the process was multithreaded. Consider that when architecting a solution depending on the size and desired performance response to the user base, two farms in a lesser configuration can outperform one in an greater configuration when it comes to completing single threaded operations.

Monday, June 8, 2009

Capacity Planning - Single Farm for the Global Enterprise

Overview


I recently downloaded a copy of System Center Capacity Planner 2007 (http://technet.microsoft.com/en-us/sccp/bb969059.aspx). To use this tool you need both the planner and the SharePoint Model. I wanted to compare how a single SharePoint Farm model would play out in this tool when you consider all the services that a global SharePoint implementation has. I would rarely recommend a single farm for an enterprise because most likely it would create a Farm of Unfortunate Proportions.


Steps:

After installation Start the tool and select SharePoint Server 2007:



You will notice with a SharePoint farm deployment you can only select one Usage profile. This is consistent with SharePoint Best Practices and although large enterprises have multiple usage profiles we will continue as if there is just one.

At the Branch offices we get a little more flexibility. These users will be added to the total farm users, to keep a consistent pattern of 20000, I acutally went back to the first screen and changed the local count to 5000 users.



This is the most current chipset and disk model we are using:


I selected High Availability for the Web Front Ends, but not the SQL Server because I think anything we do will be in a Hyper-V Cluster anyway.



You will notice that the SharePoint Model Maximum is 2 TB of data, my own experience is that this is the maximum for a SQL Instance.

Results

Topology
Sites with servers: 1
Sites with clients only: 3
Total number of clients: 20000

Site: One Farm
Number of users: 5000
Number of servers: 6
Number of SAN connections: 0

Server: Index Server
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 8.0 GB
Disk: DiskArray 1\Volume 1 (File System), 792 GB RAID 5 (12 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: Index

Server: SQL Server 1
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 16.0 GB
Disk: DiskArray 1\Volume 1 (Log Files), 216 GB RAID 10 (6 x 72.00 GB SAS 15,000 RPM)
DiskArray 1\Volume 2 (Data Files), 1728 GB RAID 10 (48 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: SQL Server

Server: SQL Server 2
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 16.0 GB
Disk: DiskArray 1\Volume 1 (Log Files), 216 GB RAID 10 (6 x 72.00 GB SAS 15,000 RPM)
DiskArray 1\Volume 2 (Data Files), 1728 GB RAID 10 (48 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: SQL Server

Server: SQL Server 3
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 16.0 GB
Disk: DiskArray 1\Volume 1 (Log Files), 216 GB RAID 10 (6 x 72.00 GB SAS 15,000 RPM)
DiskArray 1\Volume 2 (Data Files), 1728 GB RAID 10 (48 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: SQL Server

Server: Web Front End 1
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 8.0 GB
Disk: DiskArray 1\Volume 1 (File System), 144 GB RAID 10 (4 x 72.00 GB SAS 15,000 RPM)
DiskArray 1\Volume 2 (File System), 792 GB RAID 5 (12 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: Web Front End; Query Server

Server: Web Front End 2
Processor: 8-processor, 2.67 GHz, Xeon 5300-Series (2-chip x 4-core)
Minimum memory: 8.0 GB
Disk: DiskArray 1\Volume 1 (File System), 144 GB RAID 10 (4 x 72.00 GB SAS 15,000 RPM)
DiskArray 1\Volume 2 (File System), 792 GB RAID 5 (12 x 72.00 GB SAS 15,000 RPM)
NIC: 1 x 1,000 Mb/s
Roles: Web Front End; Query Server


Diagram Result:


The Total Storage the Capacity tool recommended was 8.5TB for 2TB of content. The Capacity planner also recommended breaking out the content into 3 separate SQL Servers.



Friday, June 5, 2009

SQL Server Management - Breaking up Large Content Databases into Multiple Files

Overview


In mismanaged environments content databases grow out of control sometimes to hundreds of gigabytes. It’s possible to break up these content databases into several files but there are several considerations and before breaking up a content database you should consider the long term capacity management strategy.

Breakup a large content database with SQL because:
  • Performance: you can divide up the files across different disks in the san etc
  • Manageability: keep the files at 50gb or less and you can move them easily with Windows Copy and Paste
Why Not?
  • Backup/Restore: doesn’t fix backup restore of large databases
  • SharePoint backup is not aware of SQL file groups

Break up a large content database by managing SharePoint (move around your site collections, subsites into new databases and put in quotas!)
  • Performance: Microsoft Best Practice is to keep site collection sizes smaller, I have seen numbers ranging from 20 to 50 GB. Consider 50GB your maximum.
  • Manageability: Ditto
  • Backup/Restore: Will be within margins

Procedure

Using a test 22GB database I have:


Go to the properties of the database:

Added on 2 addition ndf files.


Execute a shrink on the database:


This command will empty out the original file and place all the contents in the two new files.

You should see the ndf files grow as the processes executes:


And Growing…



During the process expect high disk activity:


I have kept the SharePoint online during the process:



I recommend that if you do so start the process after hours so that there is no competition for the database. If the shrink operation does not complete with the “empty file” parameter you may have to shrink the original data file:


During the operation you will need to plan for sufficient disk space for the Log file (now 14GB, and the 2 additional ndf files (14GB). To complete the operation I recommend having 3x the Free Space of the database available on disk.


Wednesday, June 3, 2009

Capacity Planning - Farms of Unfortunate Proportions

Overview

I have worked with many different SharePoint architectures for all the different versions of SharePoint and presented quite a few of my own. I have also run into many poorly architected SharePoints, most of the time these SharePoints are the result of:
  • Not studying the Microsoft Best Practices before implementation
  • Piecemeal tactic of cherry picking individual best practices without considering overall impact
  • Employing a bean counter approach to building a SharePoint
  • Considering that Best Practices do not apply because of a special customization or consideration
All best practices need to be interpreted with the recognition that they are Best Practices and not Rules, however in a well architected SharePoint, departing from best practices should only be considered when improving performance and user experience. In this blog entry I am summing up some of the best practices and experiences that I have had with SharePoint delivery.
Okay, so where do I go from here
On Microsoft Best Practices site (http://technet.microsoft.com/en-us/office/sharepointserver/bb736746.aspx, which is practically my home page) Microsoft has divided up different best practices based on the type of SharePoint farm that you are deploying. For small deployments the specific guidelines can be followed, but large global enterprise deployments will deploy all of these solutions to a large user base and that requires both a more complex multi-farm, tiered configuration and recognition of how services work together.
Microsoft has best practices for:
  • Operational Excellence
  • Team Collaboration Sites
  • My Sites
  • Publishing Portals
  • Search
  • Capacity Management
  • Developing Custom Applications
Your typical global enterprise solution will have all these solutions (Publishing Portal, Search, My Sites, Team Collaboration Sites and typically Customized Applications)
Understanding SharePoint Solutions
Single Farm Vs Multiple Farms
There are a number of factors to consider when designing an architecture for a global enterprise that will use SharePoint with all or most SharePoint solutions. Consider the key business drivers behind each solution.
Publishing and Collaboration Portals
Key Business Drivers behind Portals is an always up gateway for internal services. Most organizations would choose availability over performance and typically these are centralized. Microsoft recognizes this and the Microsoft Best Practices is that Portal sites should be optimized for highest availability, with specific limitations on lists and the application pools will be optimized for caching. In addition to this, common sense and experience has taught us that restricting access to SharePoint Designer and 3rd party applications increase up time for Portals.
My Sites
Most companies recognize the power of Social Networking, My Sites is part of this. Another business drive might be to store and share files. Microsoft has a metric for My Sites I have copied below. For global organizations it is optimal for My Sites to be regionally located to improve performance. Natively MySites and Search are all part of the same SSP. With a large number of My Sites this should be separated.(http://technet.microsoft.com/en-us/library/cc262706.aspx)
4. Plan for performance
The increased volume in sites, folder structures, drive storage, and processing that can accompany My Sites (even if they are as small as possible and used only to store a profile picture) can impact the backup and recovery processes and the availability of the rest of the SSP farm. Large organizations with 100,000 employees or more should consider putting My Sites into a separate farm from their Search SSP. We recommend a maximum of 150,000 My Sites per SSP. “
Collaboration Team Sites
Key Business drivers for Collaboration sites are to store documents but also drive business processes. Often SharePoint applications start from dedicated team sites. Unlike Publishing Portals, Collaboration Site Collections will often grow quite large, they are usually team based so they are often function, tower or region specific. Ideally the databases should be separated for best query execution. Typically SharePoint Designer is employed on Collaboration Sites and sometimes third party applications to drive particular business processes. Because of the large volume of content maintenance windows for indexing and backup are even more important so whenever possible these should be deployed regionally.
Search
Enterprise search is often one of the top reasons that customers purchase SharePoint. As such it typically requires the highest availability and solid performance.
Custom Applications
Typically custom applications can affect the availability of a SharePoint the most. Microsoft has released best practices around the creation of custom apps and I have written other blogs about it as well: http://sharepointglobal.blogspot.com/2009/06/configuring-sharepoint-disposable.html
In terms of delivering a highly available deployment, it is possible to combine Portal, My Site and Search solutions into a single farm if the anticipated performance requirement is low enough.. Collaboration Team Sites and Custom Applications should be kept separate and local if possible.
Farm Performance
I often think of a SharePoint Farm as a balanced wheel. When we consider guidelines we have to make sure that performance and capacity is in balance across each of the services in the farm.
The number 1 reason for poor SharePoint performance is latency. Latency can be added in to any component of a SharePoint farm or during communication between components. While designing the Architecture for SharePoint in your organization at all costs avoid having Farms of Unfortunate Proportions.
Web Front End Servers
Guidelines for acceptable performance (http://technet.microsoft.com/en-us/library/cc262533.aspx)
“Capacity is directly affected by scalability. This section lists the objects that can compose a solution and provides guidelines for acceptable performance for each type of object. Limits data is provided, along with notes that describe the conditions under which the limit obtain as well as links to additional information where available. Use the guidelines in this article to review your overall solution plans.
If your solution plans exceed the recommended guidelines for one or more objects, take one or more of the following actions:
  • Evaluate the solution to ensure that compensations are made in other areas.
  • Flag these areas for testing and monitoring as you build and deploy your solution.
  • Re-design the solution to ensure that you do not exceed capacity guidelines.
The following tables list the objects by category and include recommended guidelines for acceptable performance. Acceptable performance means that the system as tested can support that number of objects, but that the number cannot be exceeded without some performance degradation. An asterisk (*) indicates a hard limit; no asterisk indicates a tested or supported limit.
The following table lists the recommended guidelines for site objects.
Web server/database server ratio8 Web servers per database serverThe scale out factor is dependent upon the mix of operations.
Web server/domain controller ratio3 Web servers per domain controllerDepending on how much authentication traffic is generated, your environment may support a greater number of Web servers per domain controller.
Throughput vs. number of Web servers
In our test environment, farm throughput reached a plateau at 5 Web servers per database server, and did not change substantially when additional Web servers were added. Although you can deploy up to 8 Web servers per database server, you may not realize substantial throughput gains after 5 Web servers. This is because as the number of Web servers making calls against a single database server increases, the database server eventually reaches 100% capacity. Results in your environment may vary according to the performance characteristics of your database server. You will need to conduct your own testing to determine the optimum number of Web servers in your farm environment.”
Scaling OUT Vs Scaling UP Web Servers
Here is a quick look at the obvious benefits of each.
Scale OUT Benefits

Scale UP Benefits
  • Optimize Network Paths
  • Licensing Costs
Remember that at least one of your web servers is going to be utilized by your index server and depending on your content that could be a big indexing job.

Index Servers

There are some best practices for index server particular to Collaboration Team sites. Typically Collaboration Team sites have a lot of frequently changing content. It’s essential that the proper maintenance windows are allocated for indexing these sites.

http://technet.microsoft.com/en-us/library/cc262574.aspx

Estimate crawl window
In a Office SharePoint Server 2007 search environment, crawling content typically is the longest-running operation that is not initiated by users. You will need to perform testing in your own environment to determine the amount of time it takes to crawl content using a particular content source, and whether the throughput consumed by crawling this content interferes with your target user response times. Typically, you should verify that crawling a particular content source can be contained within an overnight time span of 12 hours.

Remote server latency
Server latency is a major factor that affects crawl performance. Performance between farm servers must be balanced for overall crawl performance to reach its potential. For example, a powerful index server can be operating at 25% of its capacity if the database server being crawled is not able to respond quickly enough. In such a case, you can scale up the database server, which will in turn increase crawl speeds across the entire farm.
You should conduct your own testing to evaluate the responsiveness of servers in your environment. The database server serving the target farm is often the bottleneck in cases where crawl performance is poor. To improve crawl performance, you can:
  • Scale up database server hardware by adding or upgrading processors, adding memory, and upgrading to hard disks with faster seek and write times.
  • Increase the memory on query servers in the farm
  • Crawl during non-peak hours so that the database server being crawled can service user traffic during the day, and respond to crawls during off-peak hours.
SQL Database servers
Scaling OUT Vs Scaling UP SQL Server (Topology Recommendations, http://technet.microsoft.com/en-us/library/cc298578.aspx)
When considering scaling up SQL server remember that there is only 1 TEMPDB per SQL Server instance and SharePoint relies heavily upon tempdb operations. Below are Microsoft recommendations, I have found that with current hardware 2TB of data per SQL instance is supportable, I have seen as high as 5 TB per server on Microsoft site for Collaboration Team sites…. But remember the whole farm must be balanced out to handle large data which makes for bigger windows for indexing and backup.
Consider scaling out in addition to adding resources
It is important to track the following three resource components of a server running SQL Server 2005: CPU, memory, and I/O subsystem. When one or more of the components seem stretched, analyze the appropriate course of action based on the current and projected work load. Then, determine whether to add more resources or to scale out to a new server running SQL Server 2005. In general, we recommend that you consider scaling out in addition to adding more resources.
  • If your deployment parameters are generally greater than the upper limits of most of the listed values, your deployment can be considered large.
MetricValue
Content database size50 GB
Number of content databases20
Number of concurrent requests to SQL Server 2005200
Users1000
Number of items in regularly accessed list2000
Number of columns in regularly accessed list20
(The calculation is 20 content databases multiplied by 50GB makes 1TB considered Large)
“It is important to track the following three resource components of a server running SQL Server 2005: CPU, memory, and I/O subsystem. When one or more of the components seem stretched, analyze the appropriate course of action based on the current and projected work load. Then, determine whether to add more resources or to scale out to a new server running SQL Server 2005. In general, we recommend that you consider scaling out in addition to adding more resources.
We recommend that you deploy an additional server running SQL Server 2005 when you have more than four Web servers running at full capacity.
Minimal latency on the I/O subsystem that serves the server that runs SQL Server is very important. Slow response from the I/O subsystem cannot be compensated for by adding other types of resources, like CPU or memory, but it can influence and cause issues throughout the farm. Plan for minimal latency before deployment, and monitor your existing systems as described in the section on monitoring.
SQL Server performance depends heavily on the I/O subsystem. Unless your database fits into physical memory, SQL Server constantly brings database pages in and out of the buffer pool. This generates substantial I/O traffic. Similarly, the log records need to be flushed to the disk before a transaction can be declared committed. And finally, SQL Server uses tempdb for various purposes such as to store intermediate results, to sort, to keep row versions and so on. So a good I/O subsystem is critical to the performance of SQL Server.”
“Greater bus bandwidth helps improve reliability and performance. Consider that the disk is not the only user of bus bandwidth — for example, you must also account for network access.”
When considering scaling out SQL Servers, its common to forget that the system bus can contribute to overall latency in the system and that Scaling Up is not always an acceptable solution.

Content Databases Performance
Microsoft has outlined two best practices for SharePoint around SQL Server performance that I have placed below. You will notice that both guidelines essentially say the same thing, keep your databases consistent:
Here is the Best Practice for Publishing Portals:
“This is because Office SharePoint Server 2007 performs best when the types of access and usage patterns for the content in a database are similar. Separating primarily read-only content (publishing) from read-write content (authoring), into different site collections can help.”
EXECUTION PATHS are critical when it comes to response and latency in response is critical for indexing.
Consider performance
When you host team sites on a dedicated Web application, you have several content databases that contain only team site collections. If content databases host sites with similar data characteristics, Microsoft SQL Server database software operates more efficiently because SQL Server chooses a query plan based on the characteristics of a database. By contrast, if a database hosts sites with vastly different data characteristics, the query plan that SQL Server uses might not be the most efficient method for all content in the database. For example, if a database hosts team sites (that is, a large number of medium-sized sites) and portal sites (that is, a small number of very large sites with many requests), the chosen query plan will be inefficient for one of the types of sites. Therefore, by placing content for team sites in dedicated databases, you can optimize performance for SQL Server, which results in better performance for the overall server farm. “
SharePoint Processes that Consume Resources
SharePoint Timer Jobs

Making sure that your collaboration farms are region/function/tower specific will help with this operation. Joel O. Lists this as one of his SharePoint Top Performance Killers:

http://www.sharepointjoel.com/default.aspx
“Misc Timer Jobs –
User Sync for large #s of Users – the more users the longer the timer jobs will run. Profile Synchronization - This job runs once every Hour and there is one per Web Application Quick Profile Synchronization - This job runs once every minute as performance permits and there is one per Web Application (MSDN.) More information on miscellaneous timer jobs…

Operating System issues… reasons why to use more redundant servers and less large ones:

Backup and Restore Operations
Also Listed as a top performance killer by Joel
(
http://technet.microsoft.com/en-us/library/cc901593.aspx)
“By design, most backup jobs consume as many I/O resources as they can to finish the job in the available time for maintenance. Therefore, you might see disk queuing, and you might see that all I/O requests come back more slowly than usual. This is typical and should not be considered a problem.”
Index Propagation

Index Propagation will affect the performance of the Index and Query servers depending on the size of the indexes.

Tuesday, June 2, 2009

Migrate SharePoint - Testing SQL 2008 with SharePoint Portal Server 2003 - Part 3

Overview Part 3


Here is Part 3 is screenshots of the SharePoint and errors in the event log.

Testing:

Everything SharePoint Seems to be working okay. This is a SharePoint 2003. Look at old Central Admin:



Portal Comes up fine as well:



I am going to do some more testing with individual sites and you will probably find that in a later blog, but for now lets examine some of the error messages I received during the installation.

Errors

A number of errors during or just after the installation:

Error 30059: This error message may be the result of not changing the service account for the SQL Full-Text Filter Daemon Launcher service to the SQL Service account or local system. I am going to keep an eye on this one and see if its reoccurring:




Error 117: This error may be temporary as well and in the case of an integrated installation I dont see a reason why I cant just rebuild the database. Here is what the report server database stores in an integrated installation:

“When created for SharePoint integrated mode, the report server database stores server properties, report execution snapshots, report history, subscription definitions, and schedules. It stores a secondary copy of reports, report models, shared data sources, and resources to improve processing performance on the server. Primary storage for report documents is in the SharePoint content databases. For more information, see Storing and Synchronizing Report Server Content With SharePoint Databases.” http://msdn.microsoft.com/en-us/library/bb283151.aspx



Another Report Server error, I will probably have to reconfigure that:



Error 1101 I see a few of these error messages have been reported on the Internet as possibly installation related. I will see if they re-occur.






Migrate SharePoint - Testing SQL 2008 with SharePoint Portal Server 2003 - Part 2

Overview Part 2


Here is Part 2 where the actual installation begins.


Installation


SQL Server does a lot of testing and checking.before the installation


Some more processing





More testing:


Select the instance to upgrade:



Upgrade so features are grayed out:


The usual. This is a test machine, most of the time you would see this on another drive.



Considering these storage space requirements some of my older servers are going to need a cleanup



I elected to import the Full-Text indexes to see what would happen. You will notice some of the error messages below might have been from this choice:










The installation went through smoothly. Check out Part 3 for Testing and Error Events.