性能调优之linux与架构
调优常用命令:https://class.imooc.com/lesson/1261#mid=39981
学习Linux命令技巧:
1.抓大放小,记住命令本身,参数记住几个最常用的即可。
2.多敲,熟能生巧
3.命令 --help:帮助文档
4.man 命令:详细说明
使用命令存在的问题:
1.学习成本高
2.只能操作一台机器
3.发送了命令才能知道运行情况
4.开发人员不一定能直接触碰生产环境
监控软件Zabbix
zabbix安装:https://class.imooc.com/lesson/1261#mid=39982
zabbix汉化、监控告警
Prometheus(普罗米修斯)
prometheus+exporter 实现监控数据收集
prometheus+alertManager 实现告警
prometheus+grafana 实现可视化
调优与架构设计
什么是调优?
找到问题并且解决,从而让硬件以及软件能发挥它本身的性能
架构演进过程中的调优
1.单体架构
2.双管齐下的调优
1)结合工具,发现性能瓶颈,并去做针对性的调优
应用层面的调优(JVM调优,代码重构等)
数据库层面的调优(慢sql调优,分库分表,引入缓存等)
操作系统层面的调优(引入监控工具)
技术方案的调优(不同场景使用不同的方案,比如秒杀场景;通过业务上的妥协实现“有损”调优)
2)通过架构上的演进去解决性能瓶颈
单体应用,A模块:CPU密集,B模块:IO密集
3.调优最佳实践
1)要有完备的工具,帮助迅速找到系统的性能瓶颈,知道问题在哪
2)要有相应的理论支撑你去调优,知道为什么会有问题
3)要在调优的工作过程中,积累丰富的调优经验
善于归纳总结,记录下大致的过程
4.水平扩容问题
tips:eureka集群节点超过7000,性能开始下降
5.中心化VS去中心化
6.总结
好的架构是演进出来的,而不是设计出来的,不同的项目适合不同的架构,相同的项目在不同的阶段适用的架构也不一定一样