腾讯大讲堂19 系统优化的方向
-
Upload
george-ang -
Category
Documents
-
view
596 -
download
0
description
Transcript of 腾讯大讲堂19 系统优化的方向
![Page 1: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/1.jpg)
sunshinexiong 2008-01-15
系统优化的方向?
监控对研发的支持
![Page 2: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/2.jpg)
系统优化的驱动力
• 问题
• 监控
• 自我实现和挑战
![Page 3: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/3.jpg)
监控
被动式监控运维监控, Port、 CPU、Memory、 Disk IO、 Net IO、 FileSize、 DiskSize
主动式监控HttpWatch 工具Cgi 自动化测试立体化监控体系运营数据采集
![Page 4: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/4.jpg)
http://isd.itil.com
每天自动邮件,纪录每台设备的运维情况综合负载CPU 占用率网络流量(出、入)网络包(出、入)Load Average/5min
磁盘 Block in/out
监控邮件、 url 地址
![Page 5: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/5.jpg)
HttpWatch 工具
![Page 7: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/7.jpg)
Cgi 自动化测试原理
模拟前台 JS 代码发送 cgi 请求,并接收返回,纪录响应时间,并分析返回包
实质是一种黑盒集成测试
监控结果存在某种程度的失真
建议在返回包中,提供返回码
![Page 8: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/8.jpg)
立体化监控
LogServer
![Page 9: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/9.jpg)
立体化监控
立体化容量管理体系
Minskzhang 2008-1-20
![Page 10: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/10.jpg)
运营数据分析
isdstat.cm.com
![Page 11: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/11.jpg)
IDC 测试平台
idcspeed.oa.com
![Page 12: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/12.jpg)
优化工作基础
数据分析
举例:猜扑克牌
enum card {cardA,card2,card3,card4,card5,card6,card7,card8,card9,card10,cardJ,cardQ,cardK};
enum card i,j,k;
for ( i = cardA, i < cardK, i++)
for ( j= cardA, j < cardK, j++)
for ( k = cardA, k < cardK, k++)
if ( 3==func(i,j,k) ) Print(i,j,k), return 0;
int func(int x, int y, int z);
![Page 13: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/13.jpg)
如何优化?
func(A,A,A)
func(A,A,2)
func(A,A,3)
func(A,A,4)
…
func(A,2,A)
func(A,2,2)
func(A,2,3)
func(A,2,4)
…
func(2,A,A)
func(2,A,2)
func(2,A,3)
func(2,A,4)
…
int func(int x, int y, int z);
enum card {cA,c2,c3,c4,c5,c6,c7,c8,c9,c10,cJ,cQ,cK};
enum card i;
int count=0,ret;
for ( i = cA, i < cK, i++ )
if ( ret=func(i,i,i) != 0 ) Print(i,ret), 3==count+ret?return 0, count+=ret;
![Page 14: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/14.jpg)
日志优化
新 cache 优化后效果日志回复 CACHE 上线后, CACHE 高峰期处理的平均延时由 200- 500ms 左右降至 20ms 左右;目前日志 title 的命中率在 92% 左右,其平均延时在 8ms 左右,以前高峰期在 50-60ms 左右
目前日志 title 还需 8ms 的原因,应该与目前日志 title 的数据有关,每次 DB的 IO 操作的数据量比较大影响的
后台数据 CACHE 的性能提升,减少了前台 WEB 接入的 httpsvr的压力,用户体验提升,同时也相应带来了系统稳定性的提升
![Page 15: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/15.jpg)
旧系统结构
模块日志回复日志标题日志计数
优点CACHE 内存化,提升性能多进程号段分布处理业务异步化
缺点CACHE 量有限,命中率低,对 DB 的性能依赖比较重模块相互独立,容易造成数据不一致
CGI
接入
共享内存CACHE处理
DB接口
DB
接入
共享内存CACHE处理
DB接口
DB
接入
共享内存CACHE处理
DB接口
DB
日志标题 日志回复 日志计数
![Page 16: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/16.jpg)
现网数据分析
数据量日志标题
cache 10 台 约 69G 命中率:约 90%DB 5 台 约 340G
日志回复cache 20 台 约 68G 命中率:约 50%DB 20 台 约 9T
日志计数cache 10 台 约 122G 命中率:约 100%DB 4 台 约 100G
访问量日志标题
高峰期: 7100次 / 秒日志回复
高峰期: 5000次 / 秒日志计数
高峰期: 7000次 / 秒
![Page 17: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/17.jpg)
新系统结构
CGI
接入
共享内存CACHE处理
DB接口
DB
接入
共享内存+文件二级CACHE处理
DB接口
DB
接入
共享内存CACHE处理
DB接口
DB
日志标题 日志信息 访问计数
R/W
R/WR
W
系统分三个模块:日志信息、日志标题、访问计数CGI 层对日志标题、访问计数模块有读 / 写权限;对日志标题模块只有读权限,其数据来源于日志信息模块
![Page 18: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/18.jpg)
新 cache 优化后效果
日志回复 CACHE 上线后, CACHE 高峰期处理的平均延时由 200- 500ms 左右降至 20ms 左右;目前日志 title 的命中率在 92% 左右,其平均延时在 8ms 左右,以前高峰期在 50-60ms 左右
目前日志 title 还需 8ms 的原因,应该与目前日志 title 的数据有关,每次 DB的 IO 操作的数据量比较大影响的
后台数据 CACHE 的性能提升,减少了前台 WEB 接入的 httpsvr的压力,用户体验提升,同时也相应带来了系统稳定性的提升
![Page 19: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/19.jpg)
日志信息模块性能
单台机器 4个 CACHE ,容纳 6000 万个存储节点, CACHE 数据量为 210G 左右空间,每秒中的处理请求约 900 次(其中读800/写 100 ),平均延时为 100ms ,每分钟内处理超过 1 秒的请求为 32 个,占这分钟内访问约 1/1000
现网布局: 15台 cache 6台 DB
![Page 20: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/20.jpg)
日志容量扩容
日志数据几何级数增长,每 12 个月数据容量翻一番
DB 设备越来越多,旧架构需要翻倍增长
日志正文同回复的存储在一起
![Page 21: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/21.jpg)
新日志存储
日志不再按照 QQ ID 存储
![Page 22: 腾讯大讲堂19 系统优化的方向](https://reader033.fdocuments.net/reader033/viewer/2022061221/54be2e1d4a79592f108b4621/html5/thumbnails/22.jpg)
Qzone 网管监控: coatizhao、 johnzhao
Cgi 自动化 测试: Ashwang
立 体 化 监 控: frankyang、 samuelliao
模 块 间 调 用: minskzhang
Qzone 页面测速: galen、 stonehuang
Qzone : stevetang、 xiahz