20 December, 2012

Data Optimizations in SharePoint

SharePoint mainly concentrates on the following optimization techniques:
·         Infrastructure Optimization
·         Database Optimization
·         Caching Optimization
·         Server Optimization
·         Page Optimization

Infrastructure Optimization:

Search in SharePoint is very memory intensive. It is often the first source of performance headaches.

The better the links to the database are optimized, the better the overall performance will be.
If all the servers (front-end servers and application servers) are behind the same switch, the application servers that run search will be going out through the switch each time an incremental crawl is kicked off. 

Database Optimization

Database Operations:
Different things in SharePoint have different effects on the databases
Order of items by their impact (1 being the biggest killer whereas 10 have the least impact):
·        Performance Point Services
·        Search
·        Content Query
·        Security Trimming (SPSecurityTrimmedControl delegate)
·        Collaboration
·        Workflow
·        Publishing
·        Social
·        Client Access
·        Browsing

Database Size:

Even though Microsoft says that each content database can hold up to 4 TB, the recommended practical limit is 200 GB for easily manageable backup and restores.

Analytics databases grow very quickly to very large sizes. Try to isolate Analytics databases. Analytics reports can have significant impact on CPU load.

Search uses multiple databases for its operations. It uses separate databases for crawl, properties and administration. Crawl databases can be extremely large. Crawl databases also have heavy transactional volumes. Try to isolate temp and crawl databases if possible.

Database Management:

Performing the below steps at the database might result in better performance:


·        Manually configure auto-growth settings. The default auto-growth setting in SQL Server is 1 MB. Set it to 100MB / 200 MB depending on your environment. This allows the database to grow in larger chunks, which is more efficient since these databases tend to grow rapidly.
·        Defragment database indexes regularly.
·        Limit content DB size per site collection.
·        Isolate transaction logs by writing them off onto separate disks.
·        Enforce site collection quotas in Central Administration.

Caching Optimization:

Make sure that all the custom controls / web parts use caching.

SharePoint supports the following types of cache:
1.      BLOB Cache
2.      Output Cache
3.      Object Cache
4.      Branch Cache

Server Optimization:

IIS Compression:

IIS Compression is turned on by default in Windows Server 2008. An important thing to note is that it is just enabled but not configured.  IIS Compression takes all the objects in the site, compresses them and delivers them as smaller packages to the clients.  It can be configured to be set at a level between 0 and 9. By default, it is set to 0 when it is turned on. 9 means lot of pressure on CPU utilization.  We recommend it being set to 6/7/8/9 depending upon your hardware.

Page Optimization:

Optimize Pages:

SharePoint pages contain lot of resources; these can include but are not limited to:

·        JavaScript Files
·        CSS Files
·        Navigation Controls
·        Menus
·        Web Parts
·        Custom Controls
·        Ribbon Control
·        Delegates
·        SPSecurityTrimmedControls
·        Publishing Fields
·        Search Controls
·        Hidden Controls

Customized pages (unghosted pages as they are called in earlier versions) may be easy to develop but they are bad in performance. However, The advantage with customized pages is that they can be created and modified using SharePoint Designer.  When a page is customized in SharePoint and saved, it will no longer be served from file system. Instead a copy of the page will be written into the database and from there on whenever the page is requested; it will be retrieved dynamically from the database.

Thanks Amol for your contribution for this text.

18 December, 2012

Microsoft File Transfer Manager location

If you are an MSDN (or Technet) downloader like Mr. Jeremy Taylor, you would agree that manually starting and resuming your paused or suspended downloads aren’t that easy! He and we all struggles to remember the path to the Microsoft File Transfer Manager to restart downloads. Here is how to kick start the application
In a command prompt, type in
“%SystemRoot%\Downloaded Program Files\transfermgr.exe”
Then Enter.
Reference: JeremyTaylor.net

New user account does not have a valid SID history - migrateuser: SharePoint 2007

Issue: While executing the SharePoint Migrateuser staadm command,
Stsadm –o migrateuser –oldlogin -newlogin
We run in to error: New user account does not have a valid SID history.
Resolution: Use the –ignoresidhistory switch at the end of the stsadm command to overwrite the SID history forcibly.
Stsadm –o migrateuser –oldlogin -newlogin
-ignoresidhistory
Some more reference which talk about the other resolutions:
http://blog.krichie.com/2008/06/27/using-stsadm-o-migrateuser-on-a-re-created-account

17 December, 2012

Real-Time Collaboration with Microsoft Office and SharePoint 2010


Of the Four Promises of SharePoint:

1. Enable Collaboration,
2. Manage Information,
3. Automate Processes and
4. Manage Business Performance.

SharePoint provides many capabilities for 1. Enabling Collaboration.

When collaborating on a document, it is common to email that document to one or more colleagues to update.  However, it can get very confusing determining who has the most up to date version of the document or how to reconcile updates across all the emailed versions.
The first step towards a more efficient collaboration is to work on the same content stored in a central location.  However, only one person can make their updates at a time. You might be familiar with this type of SharePoint collaboration that uses the check in and check out document feature within SharePoint document libraries.  This process fine for infrequently updated documents, but it can be inefficient when you have to wait for another person to check in their document before you can make your edits or on the occasion when that person might forget to check the document back into the library altogether.

You can come closer to a real-time collaboration by scheduling a virtual meeting with virtual meeting software like Microsoft LiveMeeting or GoToMeeting. However, this is not truly real-time collaboration since only one person can physically be in control of updating the document over the virtual meeting.

So how can you achieve true real-time collaboration while leveraging your current Microsoft Office and SharePoint infrastructure?

The current version of SharePoint 2010 (and SharePoint Online on Microsoft Office 365) and Office 2010 provide co-authoring capabilities for real-time collaboration. SharePoint 2010 Office Web Apps provide online versions of the popular Office applications of Word, Excel, PowerPoint and OneNote.

If you open an Excel spreadsheet or OneNote in Office Web App stored on SharePoint 2010 document library, the Office Web App will also allow your colleagues to open the same file at the same time via Office Web App to make updates.  When others join, you will see a notification that they have joined in editing the document at the same time.

When using the Office Web App for Excel, the quantity of editors is indicated in the lower right corner of your status bar. Click on the down arrow to view editors by name.

If you and your colleagues have the Office 2010 desktop applications, you can also co-author Word, PowerPoint and OneNote documents stored in a SharePoint 2010 library.  When they make updates, you will see their changes highlighted with their initials.

Number of editors is visible in bottom status bar in Word 2010 desktop application. Click to view editors by name.

To enable this capability within the documents of a SharePoint library you will need to:
  • Either enable SharePoint 2010 Office Web Apps within SharePoint 2010 (or SharePoint Online on Microsoft Office 365) or have the Office 2010 desktop applications installed
  • Store the Office documents within the SharePoint 2010 document library**
  • Enable Contribute or higher permissions for the participants to update documents within the SharePoint 2010 document library
  • Turn off Check In/Check Out capability in the document library
  • If you are collaborating with OneNote notebook documents, turn off document versioning (or limit it to a limited number of major versions)
Reference: www.abelsolutions.com

Managing Hyper-V with PowerShell and Hyper-V in Windows Server 2012 and Windows Server 2008 R2

Managing Hyper-V with PowerShell



How to Work with Hyper-V in Windows Server 2012 and Windows Server 2008 R2