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

架构性能优化

作者头像
凹谷
发布2020-04-11 10:38:09
4640
发布2020-04-11 10:38:09
举报

天下武功,唯快不破。

性能压测工具:

通常使用工具:Jmeter及LoadRunner发起压力测试并收集压测指标。

nmon:检测Linux的性能情况,被广泛用于linux系统上进行监控与分析工具。

内存的使用情况:MAT、GC日志、vmstat

I/O情况:iostat

网络情况:Netstat

热点代码:JProfiler、BTrace、JStack、JStat

CPU情况:Linux下的top命令

优化方法论:

阿姆达尔定律:分析对整体影响最大的点,进行优化

不访问不必要的数据:减少不必要的环节,减少故障点和维护点

就近加载:缓存为王

故障隔离:不要因为一个系统瓶颈压垮整个系统

具备良好的扩展能力:合理地利用资源,提高处理效率并避免单点故障

对整个链路进行优化:减少串行同步调用,合理拆分(水平或垂直吃饭)

性能与功能同等重要:5个功能的性能指标是设计阶段的90%,则整体的性能变为设计时的59%。

优化思路:

1、了解现状,发现问题

2、确定清晰的优化目标,分析现状与目标的差距并确认执行路线。

3、对系统进行拆分,分别对逻辑层(Web层、业务层、持久化层)和物理层(客户端、网络、应用服务器、数据库服务器)进行优化。

4、利用工具对系统进行监控和测试,并对监控结果进行分析

5、科学的对系统进行优化,需遵循一定的程序:监控/性能测试 -> 分析瓶颈 罗列瓶颈的原因 验证瓶颈因素 修改系统 确认是否达到优化目标。

影响性能的因素:CPU、内存、IO、网络或其他因素

找出主要瓶颈:先解决关键因素、再重复监控或测试验证

避免过度优化,一个修改一个瓶颈,不要对不需要的地方进行优化

提高CPU性能,写出更快的代码,设计出更好的算法,减少短期生存的对象

提高内存性能:减少长期生存的对象

提高I/O性能:重新设计应用,减少I/O的交互

缓存为王:适度缓存,做到最大化发挥数据库缓存、应用端缓存、客户端缓存的作用。

分层优化:

客户端优化

服务器优化

JVM优化

数据库优化

负载均衡优化

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档