Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

After deploying a Sharepoint application, what maintenance actions can be done to ensure optimal performance and avoid degradation of performance over time?

I can think of the following:

  • Schedule disk defragmentation
  • Set Scheduled virus scans for the system (need to eliminate some paths to not affect SP performance: more about it here )
  • Clean up old unused log files.

What else can be done?

share|improve this question

2 Answers 2

up vote 10 down vote accepted

There's a couple of things I'd add to that:

  • Database maintenance - best practice is to set up a SQL maintenance plan to do a DBCC CHECKDB, reorganize indexes etc. The authorative info is in the Database Maintenance whitepaper by Bill Baer
  • On a similar note, make sure your DB backup strategy is appropriate to ensure transaction logs get truncated
  • On a more day-to-day basis, ensure your app pool recycling is configured appropriately. It's common to schedule a recycle overnight, but be sure to run warm-up scripts immediately afterwards, and not to recycle multiple servers at the same time
share|improve this answer
    
Can you please elaborate on "make sure your DB backup strategy is appropriate to ensure transaction logs get truncated" ? what do I need to do exactly? –  Emad Jan 11 '10 at 13:23
    
Since SharePoint databases are set to use the 'Full Recovery' model, essentially you just need a strategy for backing up your transaction logs. This should cause the logs to shrink. Beware that another option, using DBCC SHRINKFILE or similar to explicitly reduce the file sizes can take a lot of time on large SharePoint farms, so aren't typically recommended. –  Chris O'Brien - MVP Jan 11 '10 at 14:28
1  
I can recommend Kimberly Tripp's article on DB mantenance tinyurl.com/yk69xao tinyurl.com/yf5jooe (and other articles regarding maintenance on that blog). ALso remember that timerjob leaks (still) and requires restarting once in a while –  Anders Rask Jan 11 '10 at 23:16

Ensure you have an idea of the base performance of your system so create some performance monitoring logs and run them for a week so that you can form a baseline.

Suggest that you record CPU, Memory, Logical Disk and Network counters as a minimum.

Repeat the logging every month or so and then at least you can make monitor perfomance allowing you to make informed decisions on upgrades (with proof to management) and provide metrics if users complain about performance.

Also always move the IIS logs and SharePoint ULS log from their default location and onto a separate partition so that they dont get in the way or steal space from the base OS. On a number of occasions I have experienced SharePoint environments that have crashed or have performance issues due to lack of disk space on the c: drive.

Check that your SharePoint diagnostic logging is not set too verbose, when an issue occurs by all means switch the diagnostic logging to be more 'chatty' but once you have fixed the problem switch the diagnostic logging back.

HTH

Regards Simon

share|improve this answer
    
thats sane advice! Get my vote :-) –  Anders Rask Jan 11 '10 at 23:17
    
what is the best way to "record CPU, Memory, Logical Disk and Network counters" ? or do you mean manually recording it? –  Emad Jan 12 '10 at 11:12
    
On each of the WFE and DB server create performance monitoring log files using Control Panel -> Administration Tools->Reliability and Performance Monitoring (Windows 2008). You can then create a User Defined Data Collector Set and then create a new data collector choose Performance Counters type. For the the performance counters click add, select the appropriate objects, take all the objects within CPU, Memory, Network & Logical Disk objects. I use 30 seconds for sample interval. You can setup a schedule to define logging period. –  Anonymous Jan 12 '10 at 11:21
    
On another point if you have System Centre this can handle it all for you and also put the data into a warehouse for analysis over a period of time.. very useful for capacity management. –  Anonymous Jan 12 '10 at 11:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.