Your SlideShare is downloading. ×
0
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

腾讯大讲堂06 qq邮箱性能优化

521

Published on

腾讯大讲堂06 qq邮箱性能优化

腾讯大讲堂06 qq邮箱性能优化

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
521
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. QQ邮箱系统优化 广州研发中心 Harvey
  • 2. 目录 QQMAIL总体架构 服务器性能优化 网络性能优化 代码框架优化
  • 3. QQMAIL总体架构(简图)
  • 4. QQMAIL总体架构 Web: 支持95%的登录请求。提供读信、写信、用户信息管理等功能。 BG:邮件队列,负责将本域用户发出的邮件投递到目标地址。 MX(Mail eXchange):接收外域邮件运营商发往本域的邮件。 POP/SMTP:提供基于Mail Client的服务。 QS:向QQ Client提供新邮件Notify服务。 Account:存储邮箱名/UIN映射关系。以及开通状态等主属性。 MS(Mail Storage):存储邮件实体。 IndexServer:用户个人信息,包括:邮件索引(发件人、主题、MS FileID等),文件夹,帐户配置信息、个人过滤规则、个人黑白名单6 种数据。
  • 5. 目录 QQMAIL总体架构 服务器性能优化 网络性能优化 代码框架优化
  • 6. 服务器性能优化 从何处入手?
  • 7. 服务器性能优化-数据收集 注:2006年4月数据,目前(2007年10月)约为当时的10-15倍。 系统主要瓶颈为IndexServer的Disk I/O。数据量600G,4,000 万小文件。 QS查询:1.4亿/天,BITMAP过滤后的有效次数1,800万/天(仅 访问新邮件索引)--每次QQ登录仅访问一次,内存Cache效 果差。 IndexServer读访问:6,266万/天(不含QS查询),内存 Cache命中率(保持10/30/60/120/960分钟)分别为: 73%,76%,78%,78%,82%。 IndexServer增/删/改访问:1,590万/天。
  • 8. 服务器性能优化-设定目标 优化Index Disk I/O 支持数据扩展--不修改服务器代码条件下动态扩展结构 支持备份 避免风险--采用简单设计
  • 9. 服务器性能优化方案-NewMailSvr 构建专门的“新邮件服务器”,面向QS (占总查询量的22%) , 专用于缓存新邮件索引数据。 特点: 无内存Cache 每用户使用固定4K盘块存储最近若干封新邮件 按UIN直接定位盘块偏移位置
  • 10. 服务器性能优化方案- IndexServer 引入内存Cache:选择半小时76%命中率方案 改变存储结构:散列文件=>桶文件 10,000连续UIN划分一个用户组。One Group One Lock 数据分配以块为单位。每用户组有15个桶文件,分别用于 分配1K/2K/4K/…/16M的数据块(2倍递增)。 使用桶文件头部的BITMAP管理数据块。
  • 11. 服务器性能优化-桶文件结构 C i ent l 1. D a Bl ock I ndex at 读 5. 返回 用 Bl ock 户 UN I Type Si ze Pos 邮 件 1234 M l ai 2K 25 索 I ndex 引 2. 查到文件 5678 Fol der 1K 311 与 偏移 …… …… …… …… I ndexSer ver 指向 3. 读磁盘 4. 获得数据 1K桶文件 BI TMAP …… 2K桶文件 BI TMAP …… 2^nK桶文件 ……… Bar r el <N>
  • 12. 服务器性能优化-桶文件结构-可扩展结构 Physical Field1 Field2 Record 全局字段配置表2 全局字段配置表1 Field1=STR Field1=STR Interpretor Field2=LONG Field2=LONG Field3=BIT 通过字段配置表动态 Record Data Object 1 Record Data Object 2 解释存储数据,扩展 字段时无须割接 Value1 Value2 Value1 Value2 Value3
  • 13. 服务器性能优化-效果 单机性能:IndexServer提升4.1倍,峰值压力下保持平稳。 整体性能:NewMailSvr使整体再度提升20%。 数据扩展:无代码修改及割接条件下,目前数据类型已从6种扩 展到20种,原类型的字段扩展超过30个。 文件数缩减:9亿号段下最大135万文件,约为改造前的1/300。 备份:文件数缩减及组锁定策略使备份易于实施。 在线性能对比 新旧IdxSvr性能 90 曲线(纵轴为毫 80 秒,横轴为小时) 70 60 50 Od U l D 40 New UD 30 20 10 0 103 109 115 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 1 7
  • 14. 服务器性能优化 Anything else?
  • 15. 服务器性能优化-性能监控 定义专项的性能日志,与监控平台连接,反应时间1小时。 先敌发现,先行摧毁! 后台服务器跟踪 访问接口 关键调用 CGI性能跟踪 CGI整体运行时间 后台接口调用时间 每日邮件自动报警
  • 16. 服务器性能优化-监控图表
  • 17. 服务器性能优化-小技巧 实现TimeTrack对象,在构造时开始计时,析构时记录时间。 在每个函数开始位置嵌入TimeTrack对象,可以得到类似 Quantify的报表。
  • 18. 目录 QQMAIL总体架构 服务器性能优化 网络性能优化 代码框架优化
  • 19. 网络性能优化-数据采集-JS上报 JS上报:收集的数据包含了页面下载延时和浏览器运算时间, 能够真实反映用户访问速度。
  • 20. 网络性能优化-数据采集
  • 21. 网络性能优化-设定目标 登录平均时间控制在8秒以内(国内最快的邮箱) 着重优化登录时间超过30秒的慢速用户
  • 22. 网络性能优化-Squid代理方案 按来源IP返回电信 或网通Proxy地址 Proxy根据IP校准表 将错误接入的连接 重定向到正确区域 检测Web服务器 状态,自动屏蔽 故障web服务器 北京、天津、广州等6个IDC部署Squid代理,超过30s的用户比例从4%下 降到3%。
  • 23. 网络性能优化-静态资源分离 静态资源存储在独立的RES服务器上 采用qhttp,提升负荷能力 静态资源通过CDN进行分布,用户就近访问,提高访问速度。 相同文件下载速度从310ms提升到250ms。
  • 24. 网络性能优化-其它方案 基于CGI的页面输出,相比Ajax,在QQMAIL用户模型下获得更 优速度,排除了浏览器的性能干扰,且易于监控。 缩减链接数 静态资源HTTP ZIP传输
  • 25. 目录 QQMAIL总体架构 服务器性能优化 网络性能优化 代码框架优化
  • 26. 代码框架优化-CGI输出 Ajax技术 传统HTML技术 显示 IE浏览器 显示 IE浏览器 DOM组合器 Template HTML AJAX引擎 模板解析器 Template XML 一套CGI同时支持 AJAX和传统HTML 技术。 CGI HTTP Server
  • 27. 代码框架优化-CGI代码框架 CGI程序从基础CGI对象继承,提供以下功能: 强制的Session检查机制 统一的错误处理(Exception) 命令行调试机制 CGI Framework XML到HTML数据格式转换 Session校验机制 调试机制 提升开发效率和安全性 错误标准处理机制 输出数据格式转换 自定义处理程序 Standard Library
  • 28. Q&A

×