SharePoint world of ECM and Information Management

February 2009 - Posts

SharePoint Tip #17. Do you know “why to measure network latency of SharePoint Farm”?

Network response time is one of the important factors that affect SharePoint farm design. Measure the latency between SharePoint servers and users to reorganize servers according the smallest response time. This factor is a key point consideration to determine which of the supported deployment solutions to implement for your Office SharePoint Server deployment. (Latency is the time required for a packet to travel from one point on a network to another).

Use the Ping tool (ping.exe) to measure latency, which affects:

  • users - from the client computer to the Web server on the server farm
  • data centres, that host servers of the same farm - from a Web server in the remote data centre to the database server in the primary data centre

Do not forget to divide the round-trip result by two, because all measures are one way only, not round-trip. Compare results to the data below, and adopt environment to have latency lower those values. 

Number of users  

Concurrent users (10%)  

Central Solution  

Distributed solution  

100-5,000  

10-500  

Bandwidth:   3+ Mbps (dual T1)  

Latency:   < 100 ms  

Bandwidth:   1.5 Mbps (T1)  

Latency:   <100 ms  

10,000  

1,000  

Bandwidth:     3+ Mbps (dual T1)  

Latency:   <250 ms  

Bandwidth:   1.5 Mbps (T1)  

Latency:   <500 ms  

100,000  

10,000  

Bandwidth:   3+ Mbps (dual T1)  

Latency:   < 250 ms  

Bandwidth:   1.5 Mbps (T1)  

Latency:   <500 ms  

Overstepping these values will increase the page-load times dramatically, in 4 times at least. The critical bandwidth is 1.5 Mbps (T1) with 500ms latency.

 

Available network bandwidth and existed latency influences planning for geographic deployments in which data travels across WAN links that span multiple cities, states, provinces, countries, or continents.

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #16. Do you know “how to get the SharePoint version programmatically”?

The administrative way of getting SharePoint version is navigating to “Central Administration > Operations > Servers in Farm”. But what if you need to get version programmatically?!

It might be that your feature relies on the specific version, lets say SharePoint SP1 + Infrastructure Update installed, and you need to check version of the SharePoint when feature installs. The way to get version programmatically is use the following SQL script

   1: SELECT Version, UserName  
   2: FROM Versions 
   3: WHERE VersionId = '00000000-0000-0000-0000-000000000000' 
   4: ORDER BY Id DESC

This script should be run against the Central Administration content database, and it returns the value which is show in “Service In Farm”.  Refer the following post to find which Update/Patch corresponds to SharePoint version number.

Use the following code-snippet to find the content database of the Central Administration site, to be used in the SQL script

   1: using (SPSite startSite = new SPSite("<Central Admin url>"))
   2: {
   3:     SPFarm farm = startSite.WebApplication.Farm;
   4:     SPWebService service = farm.Services.GetValue<SPWebService>("");
   5:  
   6:     foreach (SPWebApplication webApplication in service.WebApplications)
   7:     {
   8:         foreach (SPSite site in webApplication.Sites)
   9:         {
  10:             Console.WriteLine(string.Format("{0} - {1}", site.Url, site.ContentDatabase.Name));
  11:         }
  12:     }
  13: }

 

Current "SharePoint Tips and Tricks" series has been moved to its own "SharePoint SandBox" site, to leave the place for others SharePoint posts on this blog

SharePoint Tip #15. Do you know “that users in SharePoint groups affect crawling performance”?

Adding users explicitly to SharePoint Groups, instead of adding AD security groups affects how crawling performs.

If you add/remove users from the SharePoint group it will force search to crawl content - "Security only crawl". Incremental crawl starts to update security changes, and all “Updated ACL’s” must be pushed down to all affected items within the index. This process might take a lot of time if changes affect a lot of items in SharePoint and you have big number of users in SharePoint.

Managing users via AD groups won't cause ACL changes, and no security only crawls will occur.

Source

 

Have anything to add?! Send your tips to be published via this form

Speaking: “Best Practices of SharePoint Farm Deployment”

This month I’m reading my first SharePoint presentation in Sydney (Australia), so I welcome NSW ppl to come to listen to me and to criticize a bit :)

I’m planning to run about 3 presentations of “best practices” for SharePoint infrastructure and Development, so this one starts with the basis of how to create the SharePoint farm

Detail info below    

 

‘Best Practices of SharePoint Farm Deployment’

Presented by Michael Nemtsev (MVP), Senior Developer - Readify

 

 

Wednesday 25 February, 6:00pm – 8:00pm | Cliftons, 190 George Street, Sydney

 

In this RDN session, Michael will highlight best practices of how to deploy and configure the SharePoint environment from scratch, covering different farm scenarios and providing practical instructions of how to generate a strong SharePoint baseline.    ...register now

 

Find out more about RDN or download the RDN Information Brochure (PDF).

« Register Now»

 

Topics are:

  • Why infrastructure
  • Architecture Planning
  • SharePoint Installation
  • Farm Configuration
  • Logical Architecture planning
  • Backup and Recovery Strategy
  • Development Environment
  • Post Deployment
  • Virtual Environment
 

PowerPoint presentation is available to download in PDF format

SharePoint Tip #14. Do you know “how fast profiles are imported”?

Have you ever tried to import User Profiles? It’s a bit slow process. A lot of stuff is created in background. For the large farm, when you need to import a lot of profiles plan enough time for this.

Profile database import takes roughly an hour for every 200 profiles

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #13. Do you know “that people picker selects disable account by default”?

People Picker is a nice feature of SharePoint which allows search for a user/group when assigning permissions for example. But it has one issue, selecting accounts and groups which are “disabled” by default. To do this you need to apply LDAP filters via STSADM command

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -url ">">http://<site> –pv (!userAccountControl=514)

Source

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #11. Do you know “difference in disconnected solutions for SharePoint”?

There are several ways to build disconnected systems based on SharePoint. But all of them have pros and cons. The following table shows what each of disconnected scenarios supports.

 

Feature File System Outlook 2007 Groove 2007 Access 2007
Offline documents Yes Yes Yes No
Offline Lists No Yes No Yes
More then one document at a time No Yes Yes N/A
Automatic sync for documents No No Yes N/A
Two-Way sync No Yes (PIM list only) Yes Yes (lists only)

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #12. Do you know “that you can reset app pool instead of IIS to clean the cache”?

Instead of resetting IIS to clean SharePoint cache the recommended solution is to reset application pools. This is preferable for the production boxes, when you have several sites on your box and you don’t want that all application were affected by IIS reset.

 

Use the following command to reset application pool

cscript c:\windows\system32\iisapps.vbs /a "<app_pool_name" /r.

In Windows 2008 you need to install IE6 scripting tools (Add/Remove Programs -> Windows Components). Alternatively, in development, you can use utility http://www.harbar.net/articles/apm.aspx with interface allowing to chose which pool to reset.

 

Current "SharePoint Tips and Tricks" series has been moved to its own "SharePoint SandBox" site, to leave the place for others SharePoint posts on this blog

SharePoint Tip #10. Do you know “how to delete [Title] column from List Library”?

There are several standard columns, like "Title" and etc, which can't be delete from lists.  The workaround for this in creating the custom content type list and hiding the "title" column there.

Step-by-Step instructions described there: http://www.bloggix.com/blogs/microsoft/archive/2008/07/06/how-to-create-a-custom-list-with-your-own-content-type-getting-rid-of-field-title.aspx

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #9. Do you know “when server name is used in account pattern of a new web application”?

When you are configuring a new application pool and assigning the user account, you need to specify just the <username> for the ApplicationPoolUserName field only if SharePoint is the part of workgroup.

In case of SharePoint as the part of Active Directory, you need to use <server>\<username> pattern.

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #7. Do you know “how to change default layout page after Site Collection was created”?

SharePoint doesn’t provide you Administrative functionality to change the default layout page after you created Site Collection. This maybe an issue, for the SharePoint hosting, when you create site once, but need to change your your welcome page after.

So, the only way to do this is via SharePoint API – Featere Receiver. Use the following code-snippet to do this:

   1: public overridevoid FeatureActivated(SPFeatureReceiverProperties properties)
   2: {
   3:     SPWeb site = (SPWeb)properties.Feature.Parent;
   4:     SPFolder folder = site.RootFolder;
   5:     folder.WelcomePage = "Wiki Pages/How To Use This Wiki Site.aspx";
   6:     folder.Update(); 
   7: } 

 

Current "SharePoint Tips and Tricks" series has been moved to its own "SharePoint SandBox" site, to leave the place for others SharePoint posts on this blog

SharePoint Tip #8. Do you know “why installing SharePoint on virtualized Windows 2008 DC is wrong idea”?

Virtualized SharePoint solutions became very popular after Microsoft officially announced support of VPC, Hyper-V and 3rd party virtualization for SharePoint farms. So, number of virtualized implementations increased. But, there is one trap, which you need to avoid – is installing SharePoint on virtualized Windows 2008 Server with Domain Controller role.

There is nothing bad with SharePoint and DC together, except that the best practices recommends you not to have them together on one box. The actual problem in performance of hard drive when you activate DC in virtualized Windows 2008 Server.

After DC is activated, Windows turn off any hard drive caching and have direct reads/writes to keep AD integrity

To help preserve the integrity of the Active Directory database if a power loss or another failure were to occur, the Active Directory directory service performs unbuffered writes and tries to disable the disk write cache on volumes hosting the Active Directory database and log files. Active Directory also works in this manner when it runs in a virtual hosting environment.

More details in Microsoft Knowledgebase article 888794

 

So, any installations to DC Windows 2008 server will be not effective at all. DC must be separate box, without any others applications, because when you activate DC on your Windows 2008 Server you end up with HDD limitation (3mb/sec only)

PS: This behaviour is applicable only for virtualized Windows 2008, not physical installation.

 

Have anything to add?! Send your tips to be published via this form

SharePoint Tip #6. Do you know “how to find stsadm command you forgot”?

Use stsadm |find "<name>" to find the commands which contain the name used in find command.

For example, you forgot the command which contains the “feature” word, and trying to find all commands with such name

image

Have anything to add?! Send your tips to be published via this form