产品中的性能优化总结
2017-07-02 20:11
169 查看
0x01 缘由
引自:“一个重要的性能优化经验是:绝不应该相信你的“哪些部分会比较慢”直觉,而是应该在实际环境中测量API的真实性能概况,然后把优化精力集中在影响最大的部分。进一步说是,没必要一开始就实现最高效的API:先用一种简单的方式实现,在一切正常工作后,再找出需要优化的部分。”--《C++ API设计》。在整个3-6月从产品的简单设计,到产品的快速开发,到产品性能的优化,再到模块的规范和代码的规范上。虽然每个环节存在一些不规范的情况,至少在领导高压情况下完成了一个版本的开发,也达到了预期的性能指标。
0x02 优化场景
场景不同,优化手段不同,优化要求也不同。我们的场景如下: 高效的数据包捕获和协议还原(类型xplico,博文其他有介绍)。处理性能:800Mbps 内存占用: 1G CPU高负载下: 占用不超过30% I/O性能;
0x03 采取的手段
a.valgrid性能热点图;b.gperftool性能占比图;
c.关键函数消耗时间;
d.top/htop工具情况;
e.python脚本统计;
f.关键函数代码走查优化;
g.查看i/o处占用;
h.队列解耦、缓存;
i.多核编程处理,线程逻辑核绑定;
j.内存池技术处理;
k.tcmalloc优化内存申请、分配;
l.高效的AC匹配算法;
m.自研一些包构造工具;
n.大量的埋点统计;
o.外场实时场景流量分析;
0x04 总结
整个过程没有富有经验的同事,都是同事们想方设法,讨论查资料。踩过无数坑,但收获满满。相关文章推荐
- [java]性能优化总结:
- Asp.net性能优化总结(二)
- 总结出来的一些ASP.NET程序性能优化的注意事项
- Asp.net性能优化-性能优化总结
- Oracle SQL性能优化技巧大总结
- 总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]
- 总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]
- oracle SQL性能优化大总结
- asp.net程序性能优化总结
- Asp.net性能优化总结
- Asp.net性能优化总结(一)
- Asp.net性能优化总结(二)
- Asp.net性能优化总结(二)
- Java性能优化技巧总结
- 性能优化总结
- 性能测试之场景设计思想(加了N多同事的观点,也是对之前一段时间产品性能测试的总结)
- 总结:今天在MSN Group里面和一些朋友谈ASP.net程序的性能优化
- Asp.net性能优化总结(二)
- [转]Oracle SQL性能优化技巧总结
- Asp.net性能优化总结