C C C H H H
L7 LB
2010
• Separate HA solution per role
• Introduction of the DAG
• Support for Hybrid deployments
CAS HT
MBX MBX
2007
• Separate roles for deployment & segmentation
• Support cheaper storage
Ex Ex
SAN
Ex Ex
2000/2003
• Role differentiation through manual configuration
• Backups and hardware solutions for “reliability”
Internal Network Phone system
(PBX or VOIP)
Web
browser
Outlook (remote
user)
Mobile phone
Line of business applicationOutlook (local user)
Layer 7 LB
External
SMTP
servers
Forefront Online
Protection for
Exchange
E H
UM
C
E C H U M
Exchange 2010 SP3
Exchange 2007 SP3 RU10
C
E M
Exchange 2010
C MC
MC
Building Blocks
efficiency
simplicity
inter-op
isolation
Protocols,
Server Agents
Business Logic
Storage
EWS
RPC CA
Transport
Assistants
MRS
MRSProxyEWS
RPC CA
Transport
Assistants
MRS
MRSProxy
Server1 (Vn) Server2 (Vn+1)
XSO MailItem
Other APIsCTS
Store
ESE
Content
index
File system
XSO MailItem
Other APIsCTS
Store
ESE
Content
index
File system
SMTP
MRS proxy
protocol
EWS protocol
Custom WS
BannedE2010
AuthN, Proxy,
Re-direct
Protocols, API,
Biz-logic
Assistants, Store, CI
Exchange 2010
Architecture
AuthN, Proxy,
Re-direct
Store, CI
Protocols, Assistants,
API, Biz-logic
Exchange 2013
Architecture
Client Access
Mailbox
Client Access
Hub Transport,
Unified Messaging
Mailbox
L4 LB
L7 LB
Load Balancer
MDB
Client
Access
RPC CA
Mailbox
IIS
RPSOWA, EAS, EWS,
ECP, OAB
POP,
IMAPSMTP UM
POP
IMAPTransport UM
SMTPPOP, IMAPHTTP
MailQ
RpcProxy
SMTP
SIP
RedirectSIP + RTP
POP/IMAPOutlook Web App Outlook EAS EAC PowerShell
HTTP Proxy
IIS
Sue (somewhere in NA)
DNS Resolution
DAG
VIP #1 VIP #2
Sue (traveling
in APAC)DNS Resolution via Geo-DNS
Round-Robin between # of VIPs
DAG
VIP #3 VIP #4
mail.contoso.com
Round-Robin between # of VIPs
Front End Transport service
SMTP ReceiveProtocol
Agents
SMTP to MBX 2013SMTP from MBX 2013
External SMTP External SMTP
Hub Selector
SMTP Send
Element Exchange 2007 Exchange 2010/2013
Physical Contiguity
(ESE)
Poor physical contiguity of leaf pages.
Hence many, small-sized IOs (1 for
each page)
Excellent physical contiguity of leaf
pages. So fewer, large-sized IOs,
spanning N pages
Logical Contiguity
(Store)
Headers for each folder kept in
separate table. So many, small-sized
IOs spread over many tables
Single message table for an entire mailbox.
(Property blobs used to store actual message
properties, large blob in LV)
Several messages/page, fewer large IOs to
retrieve message properties in view)
Temporal Contiguity
(View)
All views and indexes updated each
time a mail is delivered. So many,
small-sized IOs spread over time
Views and indexes updated only when
they are accessed by user. So fewer,
large-sized IOs are done together
E14 E15
• 48 | 76% reduction in disk IOPS
• 18 | 41% reduction in Average RPC Latency
• 17 | 34% increase in CPU per RPC processed
• ~4x increase in Store memory overhead
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
DB IOPS/Mailbox
0.65
0.160
0.5
1
1.5
2
2.5
3
3.5
4
RPC
Average
Latency
Mcycles
per RPC
packet
Store
Memory
per
Mailbox
(MB)
Online Mode | Cached Mode
LoadGen Simulation – 10 DBs/1000 users
Two profiles: Online and Cached (Default/Optimized)
Perf gains are not free – increase in CPU and memory
CPU increase is factor of optimizing for two-socket servers and moving to multi-process architecture
Enables us to scale out using multi-core processors without having to cross processor bridge to access shared L2 cache
Some CPU overhead comes from using managed code
Memory increase is also factor of multi-processor architecture
Most of the memory is in small and large object heaps in .NET primarily used for object allocation and cleanup
0
0.2
0.4
0.6
0.8
1
Exchange 2003 Exchange 2007 Exchange 2010 Exchange 2013
DB IOPS/Mailbox
IOPS/Mailbox
~95.5%
Reduction!
Transport Service
SMTP to Mailbox Transport Delivery
service
SMTP from FET or the Mailbox Transport
service on other servers
SMTP to FET or Mailbox Transport
service on other servers
Delivery Queue
Pickup/Replay
Directory
Categorizer
Routing
Agents
SMTP Receive
Protocol
Agents
SMTP Send
SMTP from Mailbox Transport
Submission service
Submission Queue
Mailbox Transport SubmissionMailbox Transport Delivery
Mailbox Transport service
SMTP SendSMTP Receive
Hub Selector
Store Driver Submit
Mailbox
Assistants
Mailbox
Submit
Agents
MAPI MAPI
Mailbox Database
SMTP to Transport ServiceSMTP from Transport Service
Store Driver Deliver
Mailbox
Deliver Agents