前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高性能与调优

高性能与调优

作者头像
春哥大魔王
发布2018-07-23 11:32:44
3080
发布2018-07-23 11:32:44
举报

性能度量

  • TPS和RT

好的性能从设计开始

设计思路

  • 分而治之:分层,分区,分模块,可以针对性做优化
  • 应用无状态:水平扩展
  • 有效使用缓存:关注缓存读写比,命中率
  • 异步通信
  • nosql:非结构化,非关系型数据,热点数据
  • 多核并发设计:使用线程池,copyonwrite,concurrenthashmap,volatile,reentrantlock,readwritelock,condition,threadlocal
  • 考虑使用性能更好的加密算法
  • 考虑使用更好的序列化工具:protobuf,thrift
  • tpc选择:http调用每次都需要建立链接,消息头比较大,性能比不上thrift
  • 合并请求:循环调用某服务,考虑批量调用接口,可以合并请求
  • 对象池化:避免每次都new一个
  • 合理分配集合大小,避免频繁扩容及浪费
  • 限制IO读写大小,避免oom
  • 单例模式,减少GC
  • 内存泄漏:压测程序,通过jmap,btrace分析GC
  • NIO由于非阻塞,可以极大提高吞吐量,Netty
  • 压缩:减少网络传输数据大小
  • 异步化:提高并发能力,将耗时操作异步化,不影响主流程
  • 线程数:控制合理线程数,线程过多导致系统CPU忙于线程切换,降低应用处理能力
  • 减少锁竞争:否则线程过多,线程之间切换频繁
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 春哥talk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档