白皮书原地址:technet上有。
通常一个典型的用户连接视图如下
下图是客户端连接的统计表,outlook 2007 多了store方面的连接
tcp协议要求每个连接都包含n-tuple。TCP端口有2^16-1 个。Non-paged pool memory 用来管理已建立的连接,所以non-paged pool的大小限制了incoming connections的数量。这个限制在32位系统(物理内存)上很难体现出来,在到达tcp连接数量的限制前,物理内存已经先行耗尽了。但是切换到64位系统后,可用物理内存的限制已经不存在了,这就可能出现tcp连接限制的问题了。
非页面池内存和不同的OS的联系
32-bit | 64-bit | |
windows 5 | < 1.2GB RAM:32~256 MB > 1.2GB RAM:256MB | ~40% RAM~128GB |
windows 6 | ~75% RAM~2GB | ~75% RAM~128GB |
----------------------------------
outlook anywhere实际上构建在rpc/http上。客户端到rpc proxy使用http/https,rpc proxy 到exchange 则是tcp。客户端到exchange服务器的连接流程如下
1-Client to Proxy
2-Proxy to Exchange
3-Exchange to Proxy
4-Proxy to Client
以上四步连接完成后,RPC就会认为outlook到exchange是完全双向的连接。
exhcange有2种连接:邮件和目录访问。
mail connection 从outlook到CAS的RPCproxy 再到MBS。 ISA会将这些连接转移到CAS (RPC/Http proxy)。exchange对该服务请求进行相应并回复客户端。
directory 连接从outlook到CAS的RPC proxy再到MBS的DS proxy再到GC。DC直接处理RPC连接请求,DS proxy仅仅是做了一次代理转换。从exchange到dc的大量出站连接就是DS Proxy创建的。
CAS因为tcp协议限制最多使用(2^16-1)65535个端口。而outlookanywhere客户端的建立会使用2~8个端口。 而且MSEXIS有一个硬性限制:最多能处理60000条RPC请求。
--------
MBS占用的出站ip端口速度要远比入站快,这是DSProxy的操作方式导致的。DSProxy为每个入站连接开启一个单独的出站连接。而MBS则会开启同样数量的出站连接到GC。
tips:
1、客户端不能共享连接。
2、连接在用户注销的时候会自动断开
3、用户开启另一台服务器上的邮箱,cas上会增加到MBS的连接数量
4、用户开启另一台服务器上的多个邮箱,cas上会增加到MBS的连接数量,但数量和3一样多。
5、ISA发布的站点依然会遇到非页面池内存的问题。
--------
解决端口不足的办法有2种:添加cas(ISA)或者在windows 2008 下使用多个ip。
windows 2008可以配置一个注册表键值使得每个ip都能使用65535个端口,无论是多网卡还是单网卡多ip。每个RPC/HTTP连接会占用CAS 61KB内存。
缓和端口不足的办法:让outlook直接和GC通讯。
方法:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MsExchangeSA\Parameters
DWORD:Do Not Refer HTTP to DSProxy
value:1
修改后,你可以看到eventID9240,生效时间大约是5分钟
HKLM\Software\Microsoft\RPC\RPCProxy
这里添加上MBS可用的GC,添加端口是6004,需要包含netbios和fqdn两种。
为了防止Microsoft Exchange Service Host service修改上面的设置,还需要修改
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeServiceHost\RpcHttpConfigurator\
DWORD:PeriodicPollingMinutes
value:0
完成后需要重启Microsoft Exchange Service Host service
在每台GC上修改下列键值:
HKLM\System\CCS\Services\NTDS\Parameters\
Multi-StringValue:NSPI interface protocol sequences
value:ncacn_http:6004
完成后需要重启服务器
-------------------------------
IIS导致的问题:
RPC over http 实际上运行在iis的Default Application Pool中。该池的默认每29小时启动一次回收工作进程。在回收过程中,iis允许活动的工作线程在额外的90s内完成服务请求。
而 RPC over http是长时间的连接,很可能在这额外的90s中,程序并没有完成服务请求,于是该连接就中断了,这就导致outlook失去iis的连接。随后,outlook会立即尝试重新连接。可是如果大量的用户同时掉线,紧接着同时的大量连接可能会直接导致服务器当机。
缓解该问题:
1、如果可以,将RPC over HTTP放在一个单独的应用池中
2、关闭RPC over HTTP所在应用池的回收机制
3、增大http.sys的队列限制到10000(默认1000)
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |