SlideShare a Scribd company logo
Extending SharePoint Designer 2010 Workflows with Custom Actionshttp://bit.ly/kOqLnvIvan SandersSharePoint MVP Developer, Evangelistivan@dimension-si.comhttp://twitter.com/@iasanders
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Custom Actions
Workflow Actions Schema Overview Schema Elements I placed these in alphabetical order for easier reference, not in order of hierarchy. I will post the hierarchy the next time. Action ElementContains the information needed for the workflow engine to process a workflow activity, which is called an action in Windows SharePoint Services 3.0. A workflow Action element represents a workflow activity, such as sending e-mail notifications, updating Windows SharePoint Services 3.0 list items, creating and assigning tasks, as well as many other activities.Condition Element Represents a Condition statement, which is part of a rule sentence that can be displayed in a declarative, rules-based, code-free workflow editor, such as Microsoft Office SharePoint Designer 2007.
Workflow Actions Schema Overview Default Element The Default element is a container for other elements and has no definable attributes.Option Element Used to populate DesignerType drop-down list box controls that are not data bound. Option elements contain text and value pairs that can be used to build a workflow sentence. They also contain information about their .NET data types.Parameter Element Used to describe the input and output parameters for a custom Actions or Conditions method call.RuleDesignerElement Complex type element. The RuleDesigner element contains information needed to render a workflow sentence in a declarative, code-free workflow editor such as Microsoft Office SharePoint Designer 2007.WorkflowInfo Element WorkflowInfo is the root element of the Actions schema. This element must be included in any .ACTIONS file that is installed on the server.
Workflow in SPO?New Workflow targetsReusable Workflows can be applied to any listSite Workflows can execute on site New Workflow eventsEmitted by SharePoint Online (i.e. WorkflowStarted)Custom Events, Event Receivers
Workflow DesignerImproved declarative workflow designer
Task Process Designer
Actions	Actions get work done in the workflowExamples:Create, copy, change, or delete list items/documentsCheck items in or outSend an e-mailCreate a task for person or groupCollect data via task for use in the workflowPause or stop the workflowLog workflow information to a History listSet workflow variables or perform calculations
Conditions	Control flow of the workflowExamples:If any value equals valueIf current item field equals valueCreated by a specific personCreated in a specific date spanTitle field contains keywords
Steps	Allow you to organize your workflowSteps performed in Serial or Parallel
Impersonation	Workflows run with permissions of userUse impersonation step to run as workflow author
WorkflowSharePoint Designer 2010Implementing Workflowsdemo
Custom Workflow ActionsDefine class/method in Visual Studio 2010Sandbox Solutions APIDefine new action via <WorkflowActions> schemaMaps designer to method call<Action><RuleDesigner><Parameters>
Workflow EventsImplemented via Workflow Event ReceiverOverride SPWorkflowEventReceiverScopeSPSiteSPWebSPListSPContentTypeEventsWorkflowStartingWorkflowStartedWorkflowCompletedWorkflowLoadingWorkflowUnloading WorkflowPostponed
Creating and Deploying DocumentSet Actions & Customizable Conditionsdemo
SP2010 vs. SPOCan’t export from SPD2010 to VS2010Can’t build Visual Studio code workflows in a sandboxed solution
SummaryImplement the workflow in SharePoint Designer 2010Custom or copy & modify built in workflowActions, conditions and stepsDevelop custom workflow actions and events in Visual Studio 2010
Who can you trust??The blogs I trust through all of the noise.Maurice Prather	http://www.bluedoglimited.com/default.aspxAndrew Connell	http://www.andrewconnell.com/blogSpence Harbarhttp://www.harbar.netJim DuncanHeather Solomon	http://www.heathersolomon.com/blogTodd Klindthttp://www.toddklindt.com/default.aspxTodd Baginskihttp://www.toddbaginski.com/blogTodd Bleekerhttp://bit.ly/edlSm5Jan Tielenshttp://weblogs.asp.net/janPatrick Tisseghemhttp://www.u2u.info/Blogs/Patrick/default.aspxWictorWilenhttp://www.wictorwilen.seTed Patissonhttp://blog.tedpattison.net/default.aspxLars Fastruphttp://www.fastrup.netCarstenKeutmannhttp://keutmann.blogspot.comKeith Richie	http://blog.krichie.comBill Baer		http://blogs.technet.com/b/wbaer
Thank youhttp://bit.ly/kOqLnvIvan SandersSharePoint MVP Developer, Evangelistivan@dimension-si.comhttp://twitter.com/@iasanders
What's on the Flash driveExtras
ExtrasSharePoint 2007SharePointSolutionInstallerWSPBuilderKerberosBuddySharePoint SushiSharePointManager2007 / 2010SPViewPermissionSetting.wsp2007 Office SDK1.5SQL ScriptsSharePoint 2010AutoSPInstaller2010 DocumentationBusinessIntelligenceLabs2010 Tips and tricksSQL Scriptsnpp.5.8.6Search.StandardMasterPageAdapter.wsp
ResourcesDownload SharePoint Designer 2010http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=d88a1505%2D849b%2D4587%2Db854%2Da7054ee28d66Introducing SharePoint Designer 2010http://office.microsoft.com/en-us/sharepoint-designer-help/introducing-sharepoint-designer-2010-HA101782482.aspxSharePoint Designer 2010 Workflow	http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-designing-and-customizing-workflows-HA101859249.aspxCreating SharePoint Workflow Solutionshttp://msdn.microsoft.com/en-us/library/ee231606.aspxWalkthrough: Create a Custom Site Workflow Activityhttp://msdn.microsoft.com/en-us/library/ee231574.aspx
PerformanceAddendum
Database PerformanceDatabase VolumesSeparate database volumes into unique LUN’s consisting of unique physical disk spindles.Prioritize data among faster disks with ranking:SQL TempDB data filesDatabase transaction log filesSearch databaseContent databasesIn a heavily read-oriented portal site, prioritize data over logs.Separate out Search database transaction log from content database transaction logs.
Database PerformanceSQL TempDB Data FilesRecommended practice is that the number of data files allocated for TempDB should be equal to number of core CPU’s in SQL Server.TempDB data file sizes should be consistent across all data files.TempDB data files should be spread across unique LUN’s and separated from Content DB, Search DB, etc…TempDB Log file separated to unique LUN.Optimal TempDB data file sizes can be calculated using the following formula: [MAX DB SIZE (KB)] X [.25] / [# CORES] = DATA FILE SIZE (KB)Calculation result (starting size) should be roughly equal to 25% of the largest content or search DB.Use RAID 10; separate LUN from other database objects (content, search, etc…).“Autogrow” feature set to a fixed amount; if auto grow occurs, permanently increase TempDB size.
Database PerformanceContent Databases100 content databases per Web application100GB per content databaseCAUTION: Major DB locking issues reported in collaborative DM scenarios above 100GBNeed to ensure that you understand the issues based on number of users, usage profiles, etc…Service Level Agreement (SLA) requirements for backup and restore will also have an impact on this decision.KnowledgeLake Lab testing demonstrated SharePoint performance was NOT impacted by utilizing larger DB sizes; tests included content DB sizes that were 100GB, 150GB, 200GB, 250GB, 300GB and 350GB.
Database PerformanceContent Databases - ContinuedPre-construct and pre-sizeScript generation of empty database objects“Autogrow” feature onUse RAID 5 or RAID 10 logical unitsRAID 10 is the best choice when cost is not a concern. RAID 5 will be sufficient and will save on costs, since content databases tend to be more read intensive than write intensive.Multi-core computer running SQL ServerPrimary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
Database PerformanceSearch DatabasePre-construct and pre-sizeScript generation of empty database objects“Autogrow” feature onUse RAID 10 logical unitsShould be a requirement for large-scale systemsSearch database is extremely read/write intensiveMulti-core computer running SQL ServerPrimary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
Database PerformanceSearch DatabaseSearch database is VERY read/write intensive!Do not place any other database data files on any logical unit where search database files reside.If possible, try to ensure that the RAID 10 logical units for the search database data files do not share their physical spindles with other databases.Place the search database log files on an independent logical unit.
Database PerformanceDatabase MaintenancePhysical Volume File Fragmentation:Defragment your physical volumes on a regular schedule for increased performance!LUN’s need to be 20-50% larger than the data stored on them allow for effective defragmentation of the data files.Performance Monitor Counters to watch:Average Disk Queue LengthSingle Digit values are optimal.Occasional double-digit values aren’t a large concern.Sustained triple-digit values require attention.
Page PerformanceMinimize HTTP Requests80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages. For static components: implement "Never expire" policy by setting far future Expires headerAvoid RedirectsRedirects are accomplished using the 301 and 302 status codes. Here’s an example of the HTTP headers in a 301 response:Optimize ImagesAfter a designer is done with creating the images for your web page, there are still some things you can try before you uploading the  images to your web serverAvoid Empty Image srcImage with empty string src attribute occurs more than one will expect.

More Related Content

PPTX
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
PPTX
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010
PPTX
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
PPTX
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
PPTX
SharePoint Saturday NYC - Business Intelligence
PPTX
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
PPTX
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
PPT
Back to the Basics: SharePoint Fundamentals by Joel Oleson
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
SharePoint Saturday NYC - Business Intelligence
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
Back to the Basics: SharePoint Fundamentals by Joel Oleson

What's hot (20)

PPTX
Developer application lifecycle process and tools - v.5
PPTX
Practical businerss intelligence in share point 2013
PPTX
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
PPT
Sharepoint Online
PPTX
SharePoint Connections Coast to Coast Business Intelligence Solutions with Sh...
PDF
Android SharePoint
PPTX
SharePoint 2010 - User Profile Store
PPT
Introduction wss-3-and-moss-2007-12324
PPTX
SharePoint 2013 features overview
PPTX
What's new in SharePoint Server 2013 (End user - Admin – Developer)
PPTX
SharePoint 2010 - What's New?
PPTX
Solve Todays Problems with 10 New SharePoint 2010 Features
PPTX
Introduction To SharePoint 2010
PPTX
Introduction to sharepoint 2010
PPTX
Going offline with share point workspace
PPTX
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
PDF
SharePoint 2013 Performance Enhancements
PDF
Microsoft SharePoint 2013 Overview from Atidan
PPSX
Microsoft SharePoint 2010 Overview Session 1
PPTX
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Developer application lifecycle process and tools - v.5
Practical businerss intelligence in share point 2013
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Sharepoint Online
SharePoint Connections Coast to Coast Business Intelligence Solutions with Sh...
Android SharePoint
SharePoint 2010 - User Profile Store
Introduction wss-3-and-moss-2007-12324
SharePoint 2013 features overview
What's new in SharePoint Server 2013 (End user - Admin – Developer)
SharePoint 2010 - What's New?
Solve Todays Problems with 10 New SharePoint 2010 Features
Introduction To SharePoint 2010
Introduction to sharepoint 2010
Going offline with share point workspace
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
SharePoint 2013 Performance Enhancements
Microsoft SharePoint 2013 Overview from Atidan
Microsoft SharePoint 2010 Overview Session 1
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Ad

Similar to SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Custom Actions (20)

PPTX
SharePoint Intelligence Introduction To Share Point Designer Workflows
PPTX
Sharepoint designer workflow by quontra us
PPTX
Real world business workflow with SharePoint designer 2013
PPTX
SharePoint Saturday Los Angeles 2011 SharePoint 2010 as The Business Intellig...
PPT
SharePoint Developer Education Day Palo Alto
PPT
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
PPTX
Sharepoint tips and tricks
PPTX
SharePoint Performance
PPT
MOSS 2007 Deployment Fundamentals -Part2
PPT
Sql And Storage Considerations For Share Point Server 2010
PPTX
Large Scale SharePoint SQL Deployments
PPTX
SharePoint and Large Scale SQL Deployments - NZSPC
PPTX
Best Practices to SharePoint Physical and Information Architecture
PPT
Managing SQLserver
PPTX
SharePoint 2010 IT Pro Overview
PPTX
Managing SQLserver for the reluctant DBA
PPTX
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
PPT
Intro to Application Express
PPTX
Highly available and scalable architectures
PPTX
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
SharePoint Intelligence Introduction To Share Point Designer Workflows
Sharepoint designer workflow by quontra us
Real world business workflow with SharePoint designer 2013
SharePoint Saturday Los Angeles 2011 SharePoint 2010 as The Business Intellig...
SharePoint Developer Education Day Palo Alto
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
Sharepoint tips and tricks
SharePoint Performance
MOSS 2007 Deployment Fundamentals -Part2
Sql And Storage Considerations For Share Point Server 2010
Large Scale SharePoint SQL Deployments
SharePoint and Large Scale SQL Deployments - NZSPC
Best Practices to SharePoint Physical and Information Architecture
Managing SQLserver
SharePoint 2010 IT Pro Overview
Managing SQLserver for the reluctant DBA
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Intro to Application Express
Highly available and scalable architectures
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
Ad

More from Ivan Sanders (20)

PPTX
#OCSPUG SharePoint 2013 Best Practices
PPTX
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
PPTX
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
PPTX
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
PPTX
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
PPTX
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
PPTX
Practical Business Intelligence in SharePoint 2013 - Honolulu
PPTX
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
PPTX
Practical Business Intelligence with SharePoint 2013
PPTX
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
PPTX
Self-Service Business Intelligence in SharePoint 2013
PPTX
San Fernando Valley SharePoint UserGroup Jully 11, 2012
PPTX
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
PPTX
Creating Business Intelligence With Share Point 2010
PPTX
SharePoint Saturday Orlando 2012 Creating Business Intelligence with SharePoi...
PPTX
SharePoint 2010 Application Lifecycle Management
PPTX
SharePoint Saturday Houston 2012
PPTX
Creating Business Intelligence with SharePoint 2010
PPTX
Ep structured share point development - v.4
PPTX
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
#OCSPUG SharePoint 2013 Best Practices
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence with SharePoint 2013
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
Self-Service Business Intelligence in SharePoint 2013
San Fernando Valley SharePoint UserGroup Jully 11, 2012
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
Creating Business Intelligence With Share Point 2010
SharePoint Saturday Orlando 2012 Creating Business Intelligence with SharePoi...
SharePoint 2010 Application Lifecycle Management
SharePoint Saturday Houston 2012
Creating Business Intelligence with SharePoint 2010
Ep structured share point development - v.4
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3

SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Custom Actions

  • 1. Extending SharePoint Designer 2010 Workflows with Custom Actionshttp://bit.ly/kOqLnvIvan SandersSharePoint MVP Developer, Evangelistivan@dimension-si.comhttp://twitter.com/@iasanders
  • 3. Workflow Actions Schema Overview Schema Elements I placed these in alphabetical order for easier reference, not in order of hierarchy. I will post the hierarchy the next time. Action ElementContains the information needed for the workflow engine to process a workflow activity, which is called an action in Windows SharePoint Services 3.0. A workflow Action element represents a workflow activity, such as sending e-mail notifications, updating Windows SharePoint Services 3.0 list items, creating and assigning tasks, as well as many other activities.Condition Element Represents a Condition statement, which is part of a rule sentence that can be displayed in a declarative, rules-based, code-free workflow editor, such as Microsoft Office SharePoint Designer 2007.
  • 4. Workflow Actions Schema Overview Default Element The Default element is a container for other elements and has no definable attributes.Option Element Used to populate DesignerType drop-down list box controls that are not data bound. Option elements contain text and value pairs that can be used to build a workflow sentence. They also contain information about their .NET data types.Parameter Element Used to describe the input and output parameters for a custom Actions or Conditions method call.RuleDesignerElement Complex type element. The RuleDesigner element contains information needed to render a workflow sentence in a declarative, code-free workflow editor such as Microsoft Office SharePoint Designer 2007.WorkflowInfo Element WorkflowInfo is the root element of the Actions schema. This element must be included in any .ACTIONS file that is installed on the server.
  • 5. Workflow in SPO?New Workflow targetsReusable Workflows can be applied to any listSite Workflows can execute on site New Workflow eventsEmitted by SharePoint Online (i.e. WorkflowStarted)Custom Events, Event Receivers
  • 8. Actions Actions get work done in the workflowExamples:Create, copy, change, or delete list items/documentsCheck items in or outSend an e-mailCreate a task for person or groupCollect data via task for use in the workflowPause or stop the workflowLog workflow information to a History listSet workflow variables or perform calculations
  • 9. Conditions Control flow of the workflowExamples:If any value equals valueIf current item field equals valueCreated by a specific personCreated in a specific date spanTitle field contains keywords
  • 10. Steps Allow you to organize your workflowSteps performed in Serial or Parallel
  • 11. Impersonation Workflows run with permissions of userUse impersonation step to run as workflow author
  • 13. Custom Workflow ActionsDefine class/method in Visual Studio 2010Sandbox Solutions APIDefine new action via <WorkflowActions> schemaMaps designer to method call<Action><RuleDesigner><Parameters>
  • 14. Workflow EventsImplemented via Workflow Event ReceiverOverride SPWorkflowEventReceiverScopeSPSiteSPWebSPListSPContentTypeEventsWorkflowStartingWorkflowStartedWorkflowCompletedWorkflowLoadingWorkflowUnloading WorkflowPostponed
  • 15. Creating and Deploying DocumentSet Actions & Customizable Conditionsdemo
  • 16. SP2010 vs. SPOCan’t export from SPD2010 to VS2010Can’t build Visual Studio code workflows in a sandboxed solution
  • 17. SummaryImplement the workflow in SharePoint Designer 2010Custom or copy & modify built in workflowActions, conditions and stepsDevelop custom workflow actions and events in Visual Studio 2010
  • 18. Who can you trust??The blogs I trust through all of the noise.Maurice Prather http://www.bluedoglimited.com/default.aspxAndrew Connell http://www.andrewconnell.com/blogSpence Harbarhttp://www.harbar.netJim DuncanHeather Solomon http://www.heathersolomon.com/blogTodd Klindthttp://www.toddklindt.com/default.aspxTodd Baginskihttp://www.toddbaginski.com/blogTodd Bleekerhttp://bit.ly/edlSm5Jan Tielenshttp://weblogs.asp.net/janPatrick Tisseghemhttp://www.u2u.info/Blogs/Patrick/default.aspxWictorWilenhttp://www.wictorwilen.seTed Patissonhttp://blog.tedpattison.net/default.aspxLars Fastruphttp://www.fastrup.netCarstenKeutmannhttp://keutmann.blogspot.comKeith Richie http://blog.krichie.comBill Baer http://blogs.technet.com/b/wbaer
  • 19. Thank youhttp://bit.ly/kOqLnvIvan SandersSharePoint MVP Developer, Evangelistivan@dimension-si.comhttp://twitter.com/@iasanders
  • 20. What's on the Flash driveExtras
  • 21. ExtrasSharePoint 2007SharePointSolutionInstallerWSPBuilderKerberosBuddySharePoint SushiSharePointManager2007 / 2010SPViewPermissionSetting.wsp2007 Office SDK1.5SQL ScriptsSharePoint 2010AutoSPInstaller2010 DocumentationBusinessIntelligenceLabs2010 Tips and tricksSQL Scriptsnpp.5.8.6Search.StandardMasterPageAdapter.wsp
  • 22. ResourcesDownload SharePoint Designer 2010http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=d88a1505%2D849b%2D4587%2Db854%2Da7054ee28d66Introducing SharePoint Designer 2010http://office.microsoft.com/en-us/sharepoint-designer-help/introducing-sharepoint-designer-2010-HA101782482.aspxSharePoint Designer 2010 Workflow http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-designing-and-customizing-workflows-HA101859249.aspxCreating SharePoint Workflow Solutionshttp://msdn.microsoft.com/en-us/library/ee231606.aspxWalkthrough: Create a Custom Site Workflow Activityhttp://msdn.microsoft.com/en-us/library/ee231574.aspx
  • 24. Database PerformanceDatabase VolumesSeparate database volumes into unique LUN’s consisting of unique physical disk spindles.Prioritize data among faster disks with ranking:SQL TempDB data filesDatabase transaction log filesSearch databaseContent databasesIn a heavily read-oriented portal site, prioritize data over logs.Separate out Search database transaction log from content database transaction logs.
  • 25. Database PerformanceSQL TempDB Data FilesRecommended practice is that the number of data files allocated for TempDB should be equal to number of core CPU’s in SQL Server.TempDB data file sizes should be consistent across all data files.TempDB data files should be spread across unique LUN’s and separated from Content DB, Search DB, etc…TempDB Log file separated to unique LUN.Optimal TempDB data file sizes can be calculated using the following formula: [MAX DB SIZE (KB)] X [.25] / [# CORES] = DATA FILE SIZE (KB)Calculation result (starting size) should be roughly equal to 25% of the largest content or search DB.Use RAID 10; separate LUN from other database objects (content, search, etc…).“Autogrow” feature set to a fixed amount; if auto grow occurs, permanently increase TempDB size.
  • 26. Database PerformanceContent Databases100 content databases per Web application100GB per content databaseCAUTION: Major DB locking issues reported in collaborative DM scenarios above 100GBNeed to ensure that you understand the issues based on number of users, usage profiles, etc…Service Level Agreement (SLA) requirements for backup and restore will also have an impact on this decision.KnowledgeLake Lab testing demonstrated SharePoint performance was NOT impacted by utilizing larger DB sizes; tests included content DB sizes that were 100GB, 150GB, 200GB, 250GB, 300GB and 350GB.
  • 27. Database PerformanceContent Databases - ContinuedPre-construct and pre-sizeScript generation of empty database objects“Autogrow” feature onUse RAID 5 or RAID 10 logical unitsRAID 10 is the best choice when cost is not a concern. RAID 5 will be sufficient and will save on costs, since content databases tend to be more read intensive than write intensive.Multi-core computer running SQL ServerPrimary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
  • 28. Database PerformanceSearch DatabasePre-construct and pre-sizeScript generation of empty database objects“Autogrow” feature onUse RAID 10 logical unitsShould be a requirement for large-scale systemsSearch database is extremely read/write intensiveMulti-core computer running SQL ServerPrimary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
  • 29. Database PerformanceSearch DatabaseSearch database is VERY read/write intensive!Do not place any other database data files on any logical unit where search database files reside.If possible, try to ensure that the RAID 10 logical units for the search database data files do not share their physical spindles with other databases.Place the search database log files on an independent logical unit.
  • 30. Database PerformanceDatabase MaintenancePhysical Volume File Fragmentation:Defragment your physical volumes on a regular schedule for increased performance!LUN’s need to be 20-50% larger than the data stored on them allow for effective defragmentation of the data files.Performance Monitor Counters to watch:Average Disk Queue LengthSingle Digit values are optimal.Occasional double-digit values aren’t a large concern.Sustained triple-digit values require attention.
  • 31. Page PerformanceMinimize HTTP Requests80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages. For static components: implement "Never expire" policy by setting far future Expires headerAvoid RedirectsRedirects are accomplished using the 301 and 302 status codes. Here’s an example of the HTTP headers in a 301 response:Optimize ImagesAfter a designer is done with creating the images for your web page, there are still some things you can try before you uploading the images to your web serverAvoid Empty Image srcImage with empty string src attribute occurs more than one will expect.

Editor's Notes

  • #3: Who i I am nothing but SharePoint Clients