While performing a migration to a large hosted Exchange service provider, we experienced performance issues while creating Exchange contacts. Strangely enough, the performance problem appeared entirely specific to contact creation. This initially made little sense to us because contacts are simpler objects than appointments or tasks. With contacts, there is no complex recurrence rules or time zone management. So why would only contact creation perform poorly?
We then discovered that contacts could be created efficiently as long as they had no email address. Specifying email addresses would result in performance degradation. Digging deeper, packet analysis showed that Exchange Web Services (EWS) perform expensive Active Directory lookups to resolve contact email addresses. In this case (a large hosted email service provider), poor Active Directory performance resulted in consistent EWS timeouts creating contacts.
This is a surprising result, but Active Directory performance can therefore directly impact EWS performance. So should you encounter sub-optimal performance at the destination especially for contacts, we would recommend taking a close look at some key performance counters such as LDAP searches per seconds. Or contact our support team and we’ll be more than happy to assist you.