4. L7 LB
Ex
Ex
Ex
CAS
MBX
Ex
HT
MBX
C
C
C
H H H
SAN
•
•
Role differentiation through
manual configuration
Backups and hardware
solutions for “reliability”
2000/2003
•
•
Separate roles for
deployment &
segmentation
Support cheaper storage
2007
•
•
•
Separate HA solution per role
Introduction of the DAG
Support for Hybrid
deployments
2010
5. Forefront Online
Protection for
Exchange
Internal Network
E
Phone system
(PBX or VOIP)
H
External
SMTP
servers
M
U
Mobile phone
Web
browser
Layer 7 LB
C
Outlook (remote
user)
Outlook (local user)
Line of business application
14. EWS protocol
MRS proxy
protocol
SMTP
Protocols,
Server Agents
MRS
MRSProxy
EWS
Assistants
RPC CA
Business Logic
Transport
MailItem
XSO
CTS
Storage
Custom WS
E2010
Banned
ESE
Server1 (Vn)
File system
EWS
Assistants
RPC CA
MailItem
XSO
CTS
Other APIs
Content
index
Store
MRS
MRSProxy
Transport
Other APIs
Content
index
Store
ESE
Server2 (Vn+1)
File system
22. Sue
mail.contoso.com
(somewhere in NA)
DNS Resolution
Round-Robin between # of VIPs
VIP #1
DAG
Sue
DNS Resolution via Geo-DNS
Round-Robin between # of VIPs
VIP #2
VIP #3
DAG
(traveling
in APAC)
VIP #4
23.
24.
25.
26. External SMTP
External SMTP
Front End Transport service
SMTP Receive
SMTP Send
Protocol
Agents
Hub Selector
SMTP from MBX 2013
SMTP to MBX 2013
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40. 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
41. E14
E15
0.70
0.60
0.50
0.40
0.65
0.30
0.20
0.10
0.16
0.00
4
3.5
3
2.5
2
1.5
1
0.5
0
LoadGen Simulation – 10 DBs/1000 users
Two profiles: Online and Cached (Default/Optimized)
Perf gains are not free – increase in CPU and memory
RPC
Average
Latency
DB IOPS/Mailbox
Mcycles
per RPC
packet
Store
Memory
per
Mailbox
(MB)
Online Mode | Cached Mode
•
•
•
•
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
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
47. SMTP from FET or the Mailbox Transport
service on other servers
SMTP to FET or Mailbox Transport
service on other servers
Transport Service
SMTP Receive
Protocol
Agents
Categorizer
SMTP Send
Routing
Agents
Submission Queue
Delivery Queue
Pickup/Replay
Directory
SMTP from Mailbox Transport
Submission service
SMTP to Mailbox Transport Delivery
service
48. SMTP from Transport Service
SMTP to Transport Service
Mailbox Transport service
SMTP Receive
SMTP Send
Hub Selector
Store Driver Deliver
Store Driver Submit
Mailbox
Deliver Agents
Mailbox
Assistants
Mailbox Transport Delivery
Mailbox
Submit
Agents
Mailbox Transport Submission
MAPI
MAPI
Mailbox Database