1. 应用的性能好坏如何度量,平时如何根据项目情况选择工具? 个人认为: 一个应用的性能好坏最关键的是应用的响应时间,比如:一个API接口响应时间越慢,导致的用户体验越差。 另外一个应用的性能好坏就是在于运行时所需要的资源,比如:CPU/Mem/diskio 还有一些度量值虽然与性能没关,但是我个人认为也是需要关注: 比如:应用的稳定性 收集这些信息:可以通过日志收集,通过http请求,可以通过各种监控系统、监控脚本,另外也可以借助第三方的监控软件 选择哪种方式主要看监控的目的和现有的条件以及技术能力。 2. 主流的性能监测工具有哪些,怎样做好性能监测工作? 开源的监控系统:cacti/zabbix/falcon等 收费的第三方监控:监控宝,基调等 性能测试的软件: ab/load runner等 日志分析:elk 性能监测不是重点,重点是确立一套处理的流程,从监测问题的确立到监测问题的报警到监测问题的处理。 定期发布监测报告给应用的相关负责人,对有问题的应用进行问题的分析并进行优化。 3. 应用的性能优化都有哪些方面,如何着手进行? 应用的性能优化需要根据具体的应用进行的,各类应用优化的点不一样。 比如: 一个API的响应时间很慢,首先:我们看看这个应用是否为CPU密集型的应用,如果是,检查CPU的监控,看看是否资源够用,不够用进行扩容。 再次,看看API的请求日志,看看平均响应时间多少,API调用的各个模块的响应时间多少,定位出问题的模块,如果是数据库,看看SQL是否需要优化, 另外需要如果不是CPU密集型的,应该注意磁盘的IO 总之,应用性能优化是很漫长的过程,另外也需要细心,需要开发、测试、运维一起做的事情 |
1. 应用的性能好坏如何度量,平时如何根据项目情况选择工具? 应用响应时间是应用性能好坏的关键一环,有文章说过,每增加4秒延时,网站访问量减少多少多少(记不住具体数据了). 没有一个人会愿意一直等直到你的应用结果反馈的,除非你的应用是没有第三方(比如12306) 2. 主流的性能监测工具有哪些,怎样做好性能监测工作? Cacti,Zabbix,Nagios,这些应该是开源的主流监控系统了,尤其是Nagios,可以通过邮件/短信等工具进行报警,及时解决系统问题 3. 应用的性能优化都有哪些方面,如何着手进行? 具体问题具体分析,比如cpu不足,看看是因为访问量大造成cpu资源不足还是访问量不大,Cpu吃紧.如果是后者,就应该着手进行应用优化,改变程序算法,优化Sql,等 |