网站大量收购独家精品文档,联系QQ:2885784924

六、遇到的一些坑和问题.pdfVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六、遇到的⼀些坑和问题 遇到的⼀些坑和问题 SSD性能差 键值存储选型压测 数据量⼤时JIMDB 同步不动 切换主从 分⽚配置 模板元数据存储HTML 存接⼜访问量600w/分钟 微信接⼜调⽤量暴增 开启Nginx Proxy Cache性能不升反降 配送⾄读服务因依赖太多,响应时间偏慢 ⽹络抖动时,返回502错误 机器流量太⼤ SSD性能差 使⽤SSD做K 存储时发现磁盘IO⾮常低。配置成RAID 10 的性能只有3~6MB/s ;配置 成RAID0 的性能有~ 130MB/s ,系统中没有发现CPU ,MEM ,中断等瓶颈。⼀台服务 器从RAID 1改成RAID0后,性能只有~60MB/s 。这说明我们⽤的SSD盘性能不稳定。 根据以上现象,初步怀疑以下⼏点:SSD盘,线上系统⽤的三星840Pro是消费级硬 盘。RAID卡设置,Write back和Write through策略。后来测试验证,有影响,但不是 关键。RAID卡类型,线上系统⽤的是LSI 2008 ,⽐较陈旧。 本实验使⽤dd顺序写操作简单测试,严格测试需要⽤FIO等⼯具。 键值存储选型压测 我们对于存储选型时尝试过LevelDB 、RocksDB 、BeansDB 、LMDB 、Riak等,最终根 据我们的需求选择了LMDB 。 机器:2 台 配置:32核CPU 、32GB 内存、SSD ((5 12GB)三星840Pro-- (600GB)Intel 3500 /Intel S3610 ) 数据:1.7亿数据 (800多G数据)、⼤⼩5~30KB左右 K 存储引擎:LevelDB 、RocksDB 、LMDB ,每台启动2个实例 压测⼯具:tcpcopy直接线上导流 压测⽤例:随机写+随机读 LevelDB压测时,随机读+随机写会产⽣抖动 (我们的数据出⾃⾃⼰的监控平台,分钟 级采样)。 RocksDB是改造⾃LevelDB ,对SSD做了优化,我们压测时单独写或读,性能⾮常 好,但是读写混合时就会因为归并产⽣抖动。 LMDB引擎没有⼤的抖动,基本满⾜我们的需求。 我们⽬前⼀些线上服务器使⽤的是LMDB ,其他⼀些正在尝试公司⾃主研发的 CycleDB引擎。 数据量⼤时JIMDB 同步不动 Jimdb数据同步时要dump数据,SSD盘容量⽤了50%以上,dump到同⼀块磁盘容量不 ⾜。解决⽅案: 1、⼀台物理机挂2块SSD(5 12GB) ,单挂raid0 ;启动8个jimdb实例;这样每实例差不多 125GB左右;⽬前是挂4块,raid0 ;新机房计划8块raid 10 ; 2、⽬前是千兆⽹卡同步,同步峰值在100MB/s左右; 3、dump和sync数据时是顺序读写,因此挂⼀块SAS盘专门来同步数据; 4 、使⽤⽂件锁保证⼀台物理机多个实例同时只有⼀个dump ; 5、后续计划改造为直接内存转发⽽不做dump 。 换主从 之前存储架构是⼀主⼆从 (主机房⼀主⼀从,备机房⼀从)切换到备机房时,只有⼀ 个主服务,读写压⼒⼤时有抖动,因此我们改造为之前架构图中的⼀主三从。 分⽚配置 之前的架构是分⽚逻辑分散到多个⼦系统的配置⽂件中,切换时需要操作很多系统; 解决⽅案: 1、引⼊Twemproxy 中间件,我们使⽤本地部署的Twemproxy来维护分⽚逻辑; 2、使⽤⾃动部署系统推送配置和重启应⽤,重启之前暂停mq消费保证数据⼀致性; 3、⽤unix domain socket减少连接数和端⼜占⽤不释放启动不了服务的问题。 模板元数据存储HTML 起初不确定Lua做逻辑和渲染模板性能如何,就尽量减少for 、if/else之类的逻辑;通过 j ava worker组装html⽚段存储到jimdb ,html⽚段会存储诸多问题,假设未来变了也是 需要全量刷出的,因此存储的内容最好就是元数据。因此通过线上不断压测,最终 jimdb只存储元数据,lua做逻辑和渲染;逻辑代码在3000⾏以上;模板代码1500⾏以 上,其中⼤量for 、if/else ,⽬前渲染性能可以接受。 线上真实流量,整体性能从TP99 53ms降到32ms 。 绑定8 CPU测试的,渲染模板的性能可以接受。 库存接⼜访问量600w/分钟 商品详情页 存接⼜20 14年被恶意刷,每分钟超过600w访问量,tomcat机器只能定时

文档评论(0)

ldj215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档