如何构建一个具备卓越性能的长尾应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1107个文字,预计阅读时间需要5分钟。
首先声明,这并非写一个高性能应用的唯一选择,而是自己实践后的一些心得分享。
开发前设定一个小目标,有目标的好处是不会过度开发,也不会过度投入。
目标指标:- 并发数- TPS- 响应时间
首先声明,这不是写一个高性能应用的唯一选择,只是自己实践后的一些心得分享。
开发前定个小目标
有目标的好处是不会降配开发,也不会过度开发目标指标:并发数,TPS,响应时间等
1、模块独立性让路高性能:
在做业务模块逻辑时通盘考虑,必要时业务功模块的独立性要为高性能让路,比如对集合的操作,如果多个模块里都要循环大集合,不如为了性能,在一次循环中把不同的功能都搞定。
2、化身硬件
在开发过程中,要熟悉所使用的api,要站在CPU,内存,文件IO,或网络IO的角度思考,这样的代码谁会先受不了,会不会在关键时刻闹情绪,如果吃不准,一定要花点时间做demo,验证自己的担忧。还要优化代码,缩短代码执行路径,减轻硬件们的工作量,能一次干完的,就一次干完,不折腾硬件们,比如:能用字典唯一定位元素,不要去遍历List去找一个元素,虽对小集合来说不是事,但涓涓细流,汇集成河,防微杜渐很有必要。
本文共计1107个文字,预计阅读时间需要5分钟。
首先声明,这并非写一个高性能应用的唯一选择,而是自己实践后的一些心得分享。
开发前设定一个小目标,有目标的好处是不会过度开发,也不会过度投入。
目标指标:- 并发数- TPS- 响应时间
首先声明,这不是写一个高性能应用的唯一选择,只是自己实践后的一些心得分享。
开发前定个小目标
有目标的好处是不会降配开发,也不会过度开发目标指标:并发数,TPS,响应时间等
1、模块独立性让路高性能:
在做业务模块逻辑时通盘考虑,必要时业务功模块的独立性要为高性能让路,比如对集合的操作,如果多个模块里都要循环大集合,不如为了性能,在一次循环中把不同的功能都搞定。
2、化身硬件
在开发过程中,要熟悉所使用的api,要站在CPU,内存,文件IO,或网络IO的角度思考,这样的代码谁会先受不了,会不会在关键时刻闹情绪,如果吃不准,一定要花点时间做demo,验证自己的担忧。还要优化代码,缩短代码执行路径,减轻硬件们的工作量,能一次干完的,就一次干完,不折腾硬件们,比如:能用字典唯一定位元素,不要去遍历List去找一个元素,虽对小集合来说不是事,但涓涓细流,汇集成河,防微杜渐很有必要。

