Optimizing your SharePoint Development VM for Solid State Drives (SSDs)

Once you upgrade to a Solid State Drive, there is no going back. Your VMs boots faster, your package deployments take mere seconds, and everything feels the way it should. Unfortunately there is a major drawback to a SSD, its lifespan.

Traditional Hard Drives are measured by “Mean Time Between Failures”, indicating the average lifespan of the drive in hours. As a reference point, The Western Digital Red NAS drive has an MTBF of 1 million hours.

Solid State Drives have a maximum number of times that each block can be written to. Once a block has reached its limit, the drive often fails with data recovery being next to impossible. To mitigate this problem, SSD controllers use a technique called Wear Leveling to help distribute which blocks are written to on any given IO operation. From my personal experiences, I have had my SSDs die after approximately 12-13 months.

To help reduce the unnecessary writes and to improve your SSD’s lifespan, the following can be done. Please note that these recommendations are strictly for personal Development VMs.

Disable Disk Defragmenter
Because SSDs can access the data directly (unlike HDDs that require seeking), defragmenting a SSD will not provide any performance improvement. However, it will cause a lot of unnecessary writes to your drive. Windows will automatically disable defragmentation when it detects an SSD, however Virtual Machines don’t always know what physical storage the Virtual HDs are running on. Turn off Scheduled Defragmentation to play it safe:

  • Windows 2008 R2
    1. Win Key + R
    2. %windir%\system32\dfrgui.exe
    3. Ensure that Scheduled defragmentation is turned off
  • Windows 2012
    1. Win Key + R
    2. %windir%\system32\dfrgui.exe
    3. Change settings
    4. Uncheck Run on a schedule
    5. Save & Close

Turn off SharePoint Logging
SharePoint ULS Logging is invaluable when troubleshooting a problem or observing a particular behavior, but otherwise the logs aren’t checked daily. I recommend turning on logging in your development environment only when needed. To disable diagnostic logging:

  1. Open Central Administration
  2. Navigate to Monitoring in the left navigation
  3. Click on Configure diagnostic logging
  4. Click on the checkbox next to All Categories
  5. Select None from both of the dropdowns at the bottom of the section
  6. Save and close

If you need to restore your logging, you can follow the same steps and select Reset to default from the dropdowns.

Disable Search Indexing
Independent of SharePoint’s search engine, Windows has its own search index. Disabling Windows Indexing can save some I/O, but it really comes down to personal preference. I like to keep my development environment well organized by client & project, and do not have files scattered all over the place. Disabling the index will allow for a slightly slower search to occur, which isn’t a problem since my scope is a specific folder. To disable Windows Search Indexing:

  1. Open Windows Explorer and navigate to Computer (Win 2008) or This PC (Win 2012)
  2. Right click on your Local Disk (C:) drive and click on Properties
  3. Uncheck Allow files on this drive to have contents indexed in addition to file properties

If you have any other tips & tricks that have worked well for you, please let me know!

SharePoint Designer 2010 and 2013 side-by-side

I was recently asked if SharePoint Designer 2010 and 2013 could run side-by-side. The short answer is Yes, however several things need to be accounted for.

1 – They require the same CPU architecture
Both versions must be either 32-bit or 64-bit.

SharePoint Designer, is part of the Microsoft Office family, and many components within the family share common functionality. Common functionality is stored in DLL files that are shared between Office products, which come in 32-bit and 64-bit flavors. Upon installing your first Office program, the common DLLs are installed based on that version. In other words, you can’t have a 32 bit version of Word and a 64 bit version of Excel. Similarly with SharePoint Designer, you can have both 2010 and 2013 as long as they are the same flavor.

2 – They share the same cache folder
Since both version of SharePoint Designer share the same cache folder, they can sometimes become confused when reading cached data from the other version. Generally speaking, it is always a good idea to clear the cache folder if you receive a generic error message.

In particular, the message “Server error: The version of Microsoft SharePoint Foundation running on the server is more recent than the version of SharePoint Designer you are using”, will practically always mean that you need to clear your cache when having both SPD 2010 and SPD 2013 installed. You can clear the cache by closing SPD and deleting everything in these folders:

  • %APPDATA%\Microsoft\Web Server Extensions\Cache
  • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache

3 – Unable to use SharePoint 2010 Datasheet View after installing Office 2013
You have the option of re-installing SPD 2010 or installing the components required for the Datasheet View. According to Office Support, the following contains the 2007 components necessary to use the SharePoint 2010 Datasheet View: 2007 Office System Driver: Data Connectivity Components. It may sound strange that 2007 components are the minimum required to use the SP2010 Datasheet View, but it is Microsoft’s official recommendation.

4 – Problems mixing pre-release and RTM versions of Office
A thread on the TechNet Forums contains several registry modifications that can resolve issues on mixing pre-release and RTM versions of Office. While these are not official recommendations from Microsoft, many users have reported that it has worked for them. As always, make sure to backup your registry prior to any modifications.

5 – Installing in order
A colleague has pointed out that the versions also need to be installed in order, with SPD 2010 before SPD 2013. Credit to @donxml.

SharePoint Saturday RI – Slides & Project Files

I have uploaded my slides and Visual Studio project files for my Introduction to Building Reports with SharePoint 2013 and SQL Server Reporting Services 2012 presentation to my new Presentations page.

As I’m starting out with my new blog, I am looking at many another SharePoint blogs to see what works well. I want to give full credit to Talbott Crowell for the idea to have a separate blog page dedicated to past and future presentations.

SharePoint Saturday – Rhode Island

I’m happy to announce that I will be presenting a session on an “Introduction to Building Reports with SP 2013 and SQL 2012” at the Rhode Island SharePoint Saturday this weekend, on November 9th. (Event Details: http://lanyrd.com/2013/spsri/scrcyb/)

I have attended a number of SharePoint Saturdays over the past few years and they are truly a great avenue to learn new things about SharePoint and see new ways that people are using the platform.

SharePoint Saturdays are a free event with numerous tracks geared towards Business Users, IT Administrators, and Developers. If you are in the RI area and have not registered yet, this is an event that you don’t want to miss out on. http://spsri2013.eventbrite.com/

New Blog

After years of promising myself to start blogging, I finally decided to take action. I have been working with SharePoint (and related technologies) for over 9 years, and my last 5 years have been dedicated to SharePoint Consulting. I have been working at EMC for almost 3 years in the SharePoint Consulting Practice, and it has been an amazing opportunity to work on bleeding-edge projects for Fortune 500 clients.

I have many experiences, lessons, and tips to share, and I look forward to giving back to the SharePoint Community.