
新浪微博丰富化应用下的技术选型.pptx
51页新浪微博丰富化应用下的技术选型,技术创新 变革未来,为什么要选型? 怎么选型? 选对了吗?,,,目录,Part 1 为什么要选型?,,,推荐通讯录联系人,关系推荐中的一种强关系物料,,,,,,,,多样的业务需求,,,春晚答题王,,,,,,,,多样的业务需求,微博story,,,并发吞吐 高大,,,SLA数据 高量大,,,,,要求,,,,,,,,,,,,,,,,,,,原有组件已经不能满足需求,,场景丰富 业务变化,Part 2 怎样选型?,需求,案例一,,,,内存过大,,,冷热分离,,,,案例二,业务需求 通过号查找用户id 通过用户昵称查找对应号,,,数据量过大,过 度分库分表,案例三 通讯录数据库情况: 250亿条7.2 T 数据,,,,,,,了解新型组件,,,,,,Counterservice ssd,,,,,,,,,,,,,,,,,,,,,,,,,PIKA,,,内存过大,,,,PIKA,,大容量 可持久化 加载Db速度快 完全兼容redis协议,,PIKA,,,冷热分离,,,Counterservice ssd,,基础版本 eredis 支持多table 定长kv存储 数据冷热分离,Counterservice ssd,,,数据量过大,过 度分库分表,,,,Myrocks,MYROCKS,将RocksDB作为MySQL的一个存储引擎移植到MySQL 高压缩比 较低的写入放大 支持通用的MySQL 读写,锁机制,MVCC,事务(目前仅支持 RR,RC),主从复制,,,,压测,,Hash 类型数据开启压缩之后的压缩比情况,PIKA 性能报告,,关键参数 max-background-compactions 不同值的压测,PIKA 性能报告,机型 :Pika+PCIE+Centos7 thread : 8192 个 RT : 99.9% 50ms W+R QPS : 7w/s,PIKA 性能报告,热数据访问性能,不同读线程个数下,冷数据的读取性能,Counterservicessd 性能报告,读线程数设为4时,请求的相应时间分布,Counterservicessd 性能报告,,Myrocks性能报告 数据空间对比,,写性能,Myrocks性能报告,,读性能,Myrocks性能报告,对于任何场景,将CentOS升级到7可以得到读写性能的 提升,以及读时延的下降。
对于并发会随业务持续增长的业务,建议使用PCIE设 备来保障服务的稳定性 对于高写入大容量的端口建议使用Myrocks+PCIE来 解决,得到最高的写性能和较低的磁盘占用,Myrocks性能报告,,,,,,,,,,,那这样就能上线了吗?,选择标准,,Part 3 选对了吗?,,磨合期,线上问题排查 参数调优,Qps 600cpu 打满了,线上问题排查,,,Step 1:top 查看,线上问题排查,,,线上问题排查,Step2:看内核态系统调用perf,,,线上问题排查 Step3 :查看相关rocksdb 日志和pika的相关代码实现,,线上问题排查,Step 4:单个文件的size都大于一个level触发compact的 size, 因此会导致level-1不断的compact,,具体分析:,线上问题排查,,线上问题排查 Step 5:调大max_bytes_for_level_base 或者升级到最新版本,,参数调优,第一次改表时间3小时都没有反应,,rocksdb_commit_in_the_middle =1; rocksdb_bulk_load =1 ;,rocksdb_skip_fill_cache =1;,参数调优,,,,,收益,案例一18T 数据,,2000 1800 1600 1400 1200 1000 800 600 400 200 0,机器数,端口数,,pika,,redis,案例二 冷热数据存储,,120 100 80 60 40 20 0,机器数量,,,数据存储 时间 rediscounterservice ssd,案例三 压缩比,,,,,容量,,,myrocks,,,mysql,3,1,,。
