- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
快手主站性能优化实践
目录发现性能问题性能优化案例性能持续分析总结
发现性能问题火焰图C/C++:perf+FlameGraphJAVA:AsyncprofilerNode:0XPython:py-spyGo:pprof微架构分析TopDownmicroArchitectureanalysisvtune
目录发现性能问题性能优化案例性能持续分析总结
性能优化案例protobuf解析优化01kafkastickypartition优化透明大页优化0203
优化案例1-protobuf解析优化客户端日志上传日志使用pb编码解析pb消耗大量CPU解析protobuf的cpu开销
优化案例1-protobuf解析优化Pb复杂,嵌套层级深日志服务是中转,并不关心数据内容在CommonParams里填充服务端数据根据event类型转发Pb部分解析?精简日志pb定义
优化案例1-protobuf解析优化Schema迭代,前向兼容无法实现按照事件类型分流!
优化案例1-protobuf解析优化+手动解析Pb编码格式
优化案例1-protobuf解析优化+Message和bytes编码一致Pb值编码解析开销优化70%
优化案例2–kafka发送优化+kafkasender线程cpu使用率Sendr线程的核心遍历逻辑Isa-l高性能压缩库客户端日志上传使用kafka作为消息中间件发送kafka消耗大量
优化案例2–kafka发送优化topicQpm(单节点)CPU消耗topicA10K高topicC16.52K低反常现象一些topicQPS更高,但CPU消耗更低
优化案例2–kafka发送优化Kafkaclient基本原理消息随机发送每个partition都有一个消息的batch队列队列由多个RecordBatch构成RecordBatch由多个消息构成sender线程负责异步将消息发送到broker不指定消息的分区,使用RR算法随机选择一个partiton发送
优化案例2–kafka发送优化随机发送场景的lingerSender核心代码猜测:遍历分散的partiton性能较差罪魁祸首:消息随机发送场景的linger思考:kafka是如何保障消息延迟的?linger机制:一个消息在队列中最长存在多长时间
优化案例2–kafka发送优化方案1:修改client,对齐定时器周期方案2:每个client只发送一部分
优化案例2–kafka发送优化方案3:kafka粘性分区,短时间内尽量发送相同的
优化案例2–kafka发送优化测试条件: Linger.ms=1000;partition=16;qps=10
优化案例3–透明大页优化微架构分析VtuneprofilerPerf显示itlbmiss高达72.78%
优化案例3–透明大页优化虚拟内存到物理内存映射四级页表虚拟内存技术面向虚拟内存编程映射关系存在于页表中64位系统广泛使用四级页表
优化案例3–透明大页优化访存过程Inteli76700(Skylake)Cpu发出虚拟地址查询TLB未命中查询内存中的页表Intelskylake的cpu参数
优化案例3–透明大页优化HUGEPAGE:操作系统先预留大页,并使用特殊的mmap使用Kubelet不会自动更新cgroup的配额Jdk的min和max内存配置不适用于hugeTLB监控指标需要完善THP(透明大页)无需预留大页,由内核动态将小页合并成大页软件兼容性好可能带来一定内存申请延迟HugeTLBTHP
优化案例3–透明大页优化JAVA服务:-XX:+AlwaysPretouch堆内配置Max和Min相等堆外开启THPC++服务避免pagecache影响先使用小页分配所有可用内存,挤出pagecache再分配所有的大页,加快规整效率
目录性能持续分析总结发现性能问题性能优化案例
性能持续分析性能劣化案例优化痛点:肉眼对比火焰图,难以发现细微劣化,效率不高定期优化,无法第一时间发现潜在性能隐患沉淀不强,难以提升研发整体性能意识真实案例:基础组件劣化导致全集群性能劣化10%+
性能持续分析设计目标:持续收集开销低自动分析diff及时触达用户
性能持续分析数据采集InstrumentBased:JVMTIagentSampleBased:Perf+perf-map-agentAsyncprofiler数据格式JFR采样模式触发方式Signal特点ITimersetitimer(syscall)SIGPROF进程维度,信号频繁,可能丢失PerfEventsperf_event_open(syscall)SIGPR
您可能关注的文档
最近下载
- 浅谈初中物理教学语言严密性.doc VIP
- 高压配电柜日常维护保养方案.docx VIP
- 国考物理化学真题及答案.doc VIP
- 强制氧化-尿素还原法(FO-UR)烟气脱硝成套技术.doc VIP
- 2024年江苏赛区复赛“扬子石化杯”第38届中国化学奥林匹克(初赛)选拔赛暨化学试题含答案.pdf VIP
- 招标代理服务技术方案104页.docx
- 政府采购项目招标代理机构服务投标技术方案(技术标).pptx VIP
- 2025至2030中国建筑信息模型(BIM)行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2024广东建设职业技术学院招聘笔试真题含答案详解.docx VIP
- 公司法中董事对第三人责任的性质界定与归责原则研究.docx VIP
文档评论(0)