Post by: Mahmood Jaffer
Posted on: 12/29/2012 12:20:00 AM
I ran into a few issues working with the System.DirectoryServices namespace. The asp.net application I was troubleshooting provisioned users to Active Directory, created Exchange mailboxes, Lync accounts, assigned permissions etc. Application owners were able to modify user properties successfully but moving a user object to another OU was failing with a generic access denied message. The service account i was using had full rights to the OU structure and the rest of the code worked flawlessly. Code before Code after
Every “DirectoryEntry” instantiation has to include credentials
For binding purposes, the DistinguishedName format has to follow the typical ADSI format i.e. LDAP//mydomain.local/DN
Post by: Mahmood Jaffer
Posted on: 12/28/2012 7:26:00 AM
The recommended practice for measuring disk performance issues in a guest vm is to monitor the activity on the host and isolate the traffic. This post highlights the reasoning behind this recommendation. Disk performance issues on a windows server are diagnosed using performance monitor (perfmon). The definitive measure of disk performance issues is identifying if the server is experiencing any read/write latencies and typically in a SharePoint database hosting environment the maximum tolerable latency is 20 ms for data and 5-10 ms for log files (http//technet.microsoft.com/en-us/library/dd723635(v=office.12).aspx). On a well-equipped virtualized SQL server (8 vcpus & 32Gb RAM) and dedicated disk aggregates for data, logs and tempdb, I was seeing between 5-7 disk read and write latency alerts and these alerts ranged from 50ms to 200ms – which is concerning. The SAN folks confirmed that the disks were idle (avg 98 percent idle) and the network folks didn’t see any traffic latency between the hosts and SAN. So the issue had to be the virtualization layer. To get a better understanding of perfmon and the recoding of events, I read the disk performance post from the Windows Performance Team titled Measuring Disk Latency with Windows Performance Monitor (http//blogs.technet.com/b/askcore/archive/2012/02/07/measuring-disk-latency-with-windows-performance-monitor-perfmon.aspx) and it outlined that the perfmon provider time stamps a transaction as it leaves “Partition manager” and then stamps it when it surfaces the stack. I described my findings to good friend (Kevin Gould) and he immediately pointed me in the direction of a time/tick synchronization event that is triggered at the host level that synthesizes the time on all the guest servers. Upon reviewing the VMware whitepaper titled “Timekeeping in VMware Virtual Machines” (http//www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf); it all made sense. Basically, the VMware host server synthesizes the time keeping function on all the guest servers. This is done because the guest servers don’t have acecss to a physical Time of Day (TOD) and therefore the virtualized tick event device may run faster or slower. The synchronization event keeps everything aligned and working optimally. Any time sensitive performance counters such as disk alerts etc need to be looked at very carefully. In my case, here’s the breakdown
IO leaves the partition manager and it is time stamped
Host triggers a synchronization event and clock is deemed to be running slower and it is adjusted
IO arrives up the stack and it is time stamped
“Response Duration” = end time – start time (doesn’t compensate for synchronization event) and therefore may trigger threshold alert
Moral of the story is, look at the storage metrics, the stuff in between and take the disk performance threshold breaches/alerts with grain of salt. Measure performance from the host, focused on the guest and establishes a baseline. Disk latencies alerts are expected on a virtual server as long as there are less than 5-7 events per 10 minute interval – I can say this based our infrastructure – your mileage will vary (establish a baseline!). On the same note, the fact that I’m writing this, means we didn’t hit a negative time IO (response duration is less than 0 i.e. a negative number) – a potential worm hole opens up and all our infrastructure could have been sucked in including this blog.
Happy performance hunting!Post by: Mahmood Jaffer
Posted on: 12/26/2012 7:31:00 AM
The purpose of this blog is to outline five SQL Server configuration changes that every SharePoint administrator must know about. These changes optimize Microsoft SQL Server (2008 and higher) for SharePoint workloads. These changes are well document and have been proven to have positive impact on SQL server performance. These changes/tweaks have to be enabled after the SQL server binaries are installed. The changes are listed below
Enable Instant File Initialization SQL Server data files can be initialized instantaneously thus allowing for fast execution of file operations. Instant file initialization reclaims used disk space without filling that space with zeros. Instead, disk content is overwritten as new data is written to the files. Log files cannot be initialized instantaneously. SharePoint databases storing SQLBLOBS are constantly expanding and this change deters the Windows OS from dedicating CPU cycles to managing this growth.
Lock Pages in Memory Lock Pages in Memory allows SQL Server to reserve and retain cache memory pages that it builds based on activity from being paged out to disk. The setting must be enabled in conjunction with VM memory reservations.
Enable SQL Engine for Ad-hoc Workloads The “optimize for ad-hoc workloads” option is used to improve the efficiency of the plan cache for workloads that contain many single-use ad-hoc batches. When it is set to 1, the Database Engine stores a small compiled plan stub in the plan cache when a batch is compiled for the first time, instead of the full compiled plan. This relieves memory pressure by not allowing the plan cache to become filled with compiled plans that are not reused. For details, see http//msdn.microsoft.com/en-us/library/cc645587.aspx.
MAXDOP Setting This setting should be set to 1 for SQL server hosting SharePoint databases. Oren Bouni does a fantastic job of explaining this. His blog can be found here http//blogs.technet.com/b/sqlpfeil/archive/2012/02/01/four-tips-for-sql-tuning-for-sharepoint-part-1.aspx
Set SQL Server maximum memory to lower value (large servers) This setting will allow SQL Server to give back some memory to the operating system. The rule I’ve been sticking to is allocating between 10-20% of RAM available to the host operating system e.g. on 64GB server I’ve set the MAX memory usage to 57GB and I’ll monitor performance counters to make sure that the server remains healthy
In summary, the changes outlined about have a significant (positive) impact on SharePoint database performance if the SQL server hosting SharePoint databases was installed with default settings. Post by: Shaun Roberts
Posted on: 12/21/2012 12:15:00 AM
Categories: SharePoint;Office 365
At Softlanding, we’ve always believed that to be true to ourselves, authentic to others and worthy of the trust of our clients we have to walk our talk. Why would our clients trust us if we do differently than we ask of them? It’s easy to say what we want to do or how we want to act – it’s much harder (and more important) to do what matters on a consistent basis.
Continuous improvement as a way of life
Fair and generous relationships with our people and customers
Never Give Up
Optimistic by nature
Resourcefully independent yet aligned with the team
Part of walking our talk is building our own Website on SharePoint. We wouldn’t feel comfortable telling our clients that SharePoint is the best way to build their website, if we’ve used different technology to build our own! We use SharePoint for our Internet, intranet and client extranet. This blog is SharePoint. We use Lync as our phone, instant messaging and conferencing solution. We use Exchange for email and voice mail. We have Windows desktops, notebooks and tablets. We use Office and Office 365. We are our own Managed Services client. We really do practice what we preach, and we have better understanding and expertise because of it.
If you’re curious what Web technologies any company is using try out the Wappalyzer add-in for Firefox. Simply access the website with the add-on enabled. The technologies the site is using will be listed on the right side of the address box. When you are comparing SharePoint consultancies check out their sites. You may be very surprised!
And if you’d like to have a look at what others have done with SharePoint on the Internet, have a browse over at Top SharePoint Internet Sites. It's a very cool Silverlight listing of SharePoint sites. You can narrow down the sites you see by selecting specific industries and/or countries, etc…
We’re currently in the process of expanding our redesigned corporate website and welcome your comments! Let us know what you like, what you don’t, or what we’ve missed (client and profile sections coming soon…).
Feel free to comment on this blog post, post on our Facebook page, talk to one of us, send an email, or find us on Twitter
Post by: Martin DesRosiers
Posted on: 12/19/2012 9:32:00 PM
Categories: Managed Services
A new calendar year is just around the corner (12 days to be exact) and this is the time of year where people are thinking about setting new goals and priorities. Not only are people focused on personal goals, but as a business owner, or business decision maker, these times in a calendar year present an opportunity to plan for change. Throughout the years I've been involved with assisting organizations transition away from an IT Consultant or an IT support provider and repeatedly it's for the same reasons. The goal of this blog post is to highlight these 'reasons' as I've also encountered numerous situations where a business doesn't recognize what they're missing out on and poor performance is accepted as the norm.
Here are the most common reasons why an organization looks to change their IT partnership
Your IT service provider is just an invoice
How often do you see your IT consultant or IT company? Is it always a struggle to get someone onsite when you need them? Do you question the level of activity and have to ask why you're paying this much per month. Questioning the overall value of the business relationship is the #1 thing that causes a business to switch IT partners. As a business owner or business decision maker, if you cannot quickly define the value of your existing IT partnership, then this is enough reason to consider other providers. A true strategic IT partner is much more than just a monthly invoice and it should be considered a strategic partnership that provides recurring value to your business.
You don't have a clearly defined IT plan
Any doctor can put a band aid on a wound but it takes the right doctor to diagnose and recommend the right solution to your ailment. Just like a good doctor, addressing the root cause of a problem and having the right plan (instead of a quick fix) is critical in ensuring the long-term health of your network. The right IT provider should identify risks and opportunities for improvement through a clearly defined IT plan that aligns with your business objectives. If your existing relationship only involves break/fix scenarios without any transparency into back-end systems then you are sitting on a ticking time-bomb. You need to be aware of the risk present within your environment, and you need a short and long-term plan to remediate any deficiencies. Maximizing your IT investment is something Softlanding has been doing for numerous large organizations in Vancouver since 2000 and we take this enterprise-level exposure and apply it to your business regardless of its size.
Your relationship is 100% reactive
Do you only see or hear from your IT partner when something is broken? How often are they proactively involved in your business. A regular onsite presence is a key ingredient of a successful IT partnership and it is something we include in every single partnership that we engage in. Softlanding is not only your break/fix Help Desk when you need it, but we strive to become the 'face' of your IT department and build real relationships with your staff. If you feel like you're chasing your tail on recurring issues and not progressing as an organization from an IT perspective, then you are not getting the proactive love you need.
Your Help Desk is a black-hole
If you're in a situation where you submit a 'ticket' but have no clear indication of when it will be worked on, let alone resolved, then you're most likely submitting support tickets into the abyss. If it takes days to get the most basic support requests resolved, it most likely means your IT partner does not have an efficient service delivery operations, is under staffed, or is over their head. A lot of competitors hire the most inexpensive technical resources to staff their Network Operations Center which results in poor response times, multiple escalations, and an overall poor support experience. At Softlanding our team is composed of technical consultants with years of IT experience to ensure you get a seamless support experience with same-day resolution.
The more I write the more I realize I could go on about this topic but I think it's important to remember that any one of the items mentioned above is enough for you to consider looking at alternatives. One of the most important aspects of any relationship is trust, after-all, when you engage with a Managed Services Provider you are looking for them to become your trusted IT advisor - I've spoken to many executives about the state of their IT environment including their relationship with their external IT service provider and they often have a tough time describing the value of the relationship. You'd be surprised by how many IT service providers are actually smaller than they appear and many do not have the exposure/experience to deliver on what they're selling to provide you with the true business value you deserve. Therefore, before partnering with just any IT company, make sure you build a level of trust, ask about their company and business direction, their team, the clients they've done business with, and obtain references.
Post by: Paul Bauer
Posted on: 12/14/2012 12:32:00 AM
In this weeks Windows Update batch for Windows Server 2008 R2, it looks like Microsoft snuck in PowerShell 3.0 under the Windows Management Framework 3.0 for Windows Server 2008 R2 KB2506143 optional update. Which sounds like it shouldn't cause any issues, like many updates...
It turns out that since PowerShell 3.0 utilizes .net Framework 4.0, it no longer supports cmdlets that require previous versions of .net (say, all SharePoint cmdlets, which use .net 3.5!). If, like me, you attempted to do this, you saw an error similar to the following
So, the Solution Is
Actually, it's pretty simple to get around this - simply open PowerShell using the parameter -Version 2 Also, you will need to add in the SharePoint SnapIn...but once that's done, you're good to go with your SharePoint powershell scripts, just like before the update.