QQ 邮箱系统优化广州研发中心 Harvey 目录 QQMAIL 总体架构服务器性能优化网络性能优化代码框架优化 QQMAIL 总体架构(简图) QQMAIL 总体架构 Web :支持 95%的登录请求。提供读信、写信、用户信息管理等功能。 BG :邮件队列,负责将本域用户发出的邮件投递到目标地址。 MX ( Mail eXchange ): 接收外域邮件运营商发往本域的邮件。 POP/SMTP :提供基于 Mail Client 的服务。 QS :向 QQ Client 提供新邮件 Notify 服务。 Account :存储邮箱名/ UIN 映射关系。以及开通状态等主属性。 MS ( Mail Storage ): 存储邮件实体。 IndexServer :用户个人信息,包括:邮件索引(发件人、主题、 MS FileID 等),文件夹,帐户配置信息、个人过滤规则、个人黑白名单 6 种数据。目录 QQMAIL 总体架构服务器性能优化网络性能优化代码框架优化服务器性能优化从何处入手? 服务器性能优化-数据收集注: 2006 年4月数据,目前( 2007 年 10 月)约为当时的 10-15 倍。系统主要瓶颈为 IndexServer 的 Disk I/O 。数据量 600G , 4,000 万小文件。 QS 查询: 亿/天, BITMAP 过滤后的有效次数 1,800 万/天(仅访问新邮件索引) -- 每次 QQ 登录仅访问一次,内存 Cache 效果差。 IndexServer 读访问: 6,266 万/天(不含 QS 查询),内存 Cache 命中率(保持 10/30/60/120/960 分钟)分别为: 73%,76%,78%,78%,82% 。 IndexServer 增/删/改访问: 1,590 万/天。服务器性能优化-设定目标优化 Index Disk I/O 支持数据扩展--不修改服务器代码条件下动态扩展结构支持备份避免风险--采用简单设计服务器性能优化方案- NewMailSvr 构建专门的“新邮件服务器”,面向 QS (占总查询量的 22% ), 专用于缓存新邮件索引数据。特点: 无内存 Cache 每用户使用固定 4K盘块存储最近若干封新邮件按 UIN 直接定位盘块偏移位置服务器性能优化方案- IndexServer 引入内存 Cache :选择半小时 76% 命中率方案改变存储结构:散列文件=> 桶文件 10,000 连续 UIN 划分一个用户组。 One Group One Lock 数据分配以块为单位。每用户组有 15 个桶文件,分别用于分配 1 K/2K/4K/ …/16M 的数据块( 2倍递增)。使用桶文件头部的 BITMAP 管理数据块。
腾讯大的讲堂06-qq邮箱性能优化 来自淘豆网m.daumloan.com转载请标明出处.