17
基于公共云平台的DSP技术 刘书良(百川通联) [email protected]

刘书良:基于大数据公共云平台的Dsp技术

Embed Size (px)

DESCRIPTION

BDTC 2013 Beijing China

Citation preview

Page 1: 刘书良:基于大数据公共云平台的Dsp技术

基于公共云平台的DSP技术 刘书良(百川通联)

[email protected]

Page 2: 刘书良:基于大数据公共云平台的Dsp技术

如何更高效处理高并发及大数据?

• Instagram:7个工程师 && 十亿美金的故事

• 大量使用amazon云服务

• 保持简单、不重复制造轮子

• 采用已经被证明了的技术

• 百川通联:

• 架构在公共云服务平台基础之上

• 使用大量开源软件

• 搭建起国内第一个基于公共云服务的DSP、DMP平台

Page 3: 刘书良:基于大数据公共云平台的Dsp技术

DSP的一些背景知识

Page 4: 刘书良:基于大数据公共云平台的Dsp技术

DSP基本问题:

• 第三方adexchange每日可向DSP发送超过50亿流量

• Bidder:实时广告调度决策及出价算法

• Redis Proxy && Redis Cluster:redis数据库管理,支持对redis

高并发的请求

• 广告决策支撑数据运算:

• cookie mapping数据(adexchange与dsp间cookie对应关系)

• 用户cookie数据(兴趣、性别或者是自定义标签)

• 广告实时投放数据、结算数据

Page 5: 刘书良:基于大数据公共云平台的Dsp技术

线上请求处理流程:

Page 6: 刘书良:基于大数据公共云平台的Dsp技术

Online模块性能基本状况:

• 每天请求量超过50亿次,峰值请求达到5万QPS

• 每个请求的延时要小于100ms

• 出价服务器与adexchange服务器通常不在同一个城市,这样意

味这10-40ms的网络延时

• 对于每个请求,需要访问四次redis

• 决策算法时间复杂度较高

Page 7: 刘书良:基于大数据公共云平台的Dsp技术

QPS接入过程中遇到的问题:

• 云服务器安全策略把adexchange流量当成了DDOS攻击

• 与云平台运维沟通,提高对指定ip的qps上限值限制

• 云服务器单独服务器pps上限值

• 前期想使用bidder高配置的云服务器,由于pps限制,cpu利用

率一直上不去,浪费了计算资源

• 把高配服务器换成几台低配服务器:1台4核,8G内存服务器替

换成4台1核,512M内存的云服务器

Page 8: 刘书良:基于大数据公共云平台的Dsp技术

QPS接入过程中遇到的问题:

• 流量超过单个负载均衡实例上限值

• 与云平台运维沟通,提高负载均衡实例的QPS的上限值

• Redis问题:10亿key_value对,峰值每秒20万次请求

• 单台云主机pps上限问题,决定了少数云主机请求无法满足需求

• 内存占用过多的问题,禁用redis自带过期的设置,改为线下程

序自动过期数据,内存占用减少30%

Page 9: 刘书良:基于大数据公共云平台的Dsp技术

QPS接入过程中遇到的问题:

• Redis问题:

• Twemproxy:一个关于内存数据库的代理服务器

• 将大表拆分成很多小表,部署到不同服务器的redis表中,保

证将数据平均分配到不同服务器

• 线上请求被平均分配到各台服务器上

• 目前已经通过Twemproxy管理上百个redis进程

Page 10: 刘书良:基于大数据公共云平台的Dsp技术

云主机日志运算问题:

• 当线上流量达到一定时,单台log服务器出现瓶颈:

• 每秒产生的日志峰值在6万条左右,一天产生的日志量达到1T

• 通过单击接收rsyslog接受日志,已经达到单机pps上限值,造

成丢包现象

• 云服务器磁盘i/o受限设计原因,顺序读的速度小于20M左右,

也达到上限,写的速度更慢一些

• 由于单机上磁盘IO受限,单机上的数据无法进行远程拷贝

Page 11: 刘书良:基于大数据公共云平台的Dsp技术

云主机日志运算问题:

• 在不影响业务的情况下,将日志发送到不同的服务器上,避免单台

服务器pps上限、i/o上限

• 对关键数据适当进行冗余备份,减少计算程序远程拷贝数据

• 使用rsyslog管道,减少日志硬盘读取

• 使用redis作为缓存,减少各个服务器读取硬盘的次数

• 将不同的离线任务,进行拆分,部署到不同的服务器上

Page 12: 刘书良:基于大数据公共云平台的Dsp技术

使用自建Hadoop集群进行离线计算:

• 问题:

• 目前国内市场还没有开放的公共云平台,提供类似Hadoop

MapReduce服务。需要在云主机外再建立一个Hadoop机器。

• 数据远程传输浪费了带宽成本

• 期望尽快出现能提供Hadoop机器计算的商业平台出现

Page 13: 刘书良:基于大数据公共云平台的Dsp技术

使用自建Hadoop集群进行离线计算:

• 对于实时性或者数据量巨大的运算,我们自建了hadoop集群

• 人群定义:

• 300个标准人群类别

• 给定人群进行扩展:look alick算法

• 点击率模型:

• Logistic regression

• 深度统计分析报表:

• 例如:用户行为与广告点击之间的关联分析

Page 14: 刘书良:基于大数据公共云平台的Dsp技术

小结:云主机选购技巧

• 一定要准确评估内存、cpu、带宽、磁盘的峰值

• Bidder高cpu、redis服务器高内存

• 在某些情况下:

• 1台* 4核4G内存服务器 vs 4台* 1核1G内存服务器

• 很大概率对应1台实体服务器 vs 很大概率对应多台实体服务器

• 遇到单台物理机瓶颈(pps/cpu) >> 遇到单台物理机瓶颈

• 内存、cpu、带宽、磁盘可以按需定义,动态调整

Page 15: 刘书良:基于大数据公共云平台的Dsp技术

小结:技术方面

• 对于线上高并发、实时请求,基于国内的商业云平台基本可以搞定

• DNS、CDN、负载均衡、开源nosql、虚拟服务器、云监控

• 虚拟服务器,磁盘IO是瓶颈,云平台需要考虑支持SSD硬盘

• 公共云平台对于类Hadoop的离线数据计算平台还相对较弱

Page 16: 刘书良:基于大数据公共云平台的Dsp技术

小结:成本

• 以百川DSP为例:

• 公共云平台提供更多计算资源,便于将研发精力专注出价策略、

数据挖掘等算法方面

• 研发周期大大加快

• 测试服务器、svn都部署在云上,运维、IT人员为0.5人

• 硬件成本及研发成本大幅度下降

• 接下来,以最有效率的方式:

• 整合互联网、无线互联网、及其他智能终端上的数据

• 做数据挖掘和精准营销

Page 17: 刘书良:基于大数据公共云平台的Dsp技术

17

Thanks!

百川通联 www.bcdata.cn