Web App性能优化
作者:成宏 发布时间:[ 2016/12/27 11:01:17 ] 推荐标签:App测试 性能优化
对于重复的数据请求,处理起来比较简单,只需要去掉冗余的请求即可。如果把对于用户请求的处理逻辑看做服务的话,那么如何设计服务以及定义服务边界成为了影响性能的关键因素。这背后体现的是用户需求的本质,以及对时间的分片处理。这要求服务之间关注点各自分离、边界比较清晰,能够适应横向扩展。比如采用Publish-Subscribe模式的系统是一个很好的选择,但是模式永远只是指引的方向,如何很好地应用这些模式,同样需要对业务系统进行不断的探索。
一旦设计了这样的服务,不仅能够灵活支撑扩展性,也使得持续的性能优化成为可能,不仅如此,这样的服务设计,还能够帮我们灵活调整优化策略,比如采用多线程、异步、服务自治、分布式或者集中式节点扩展、灵活选择数据持久化机制等等
处理N+1问题,更多地与业务模型以及业务上下文有关,从DDD的角度考虑这个问题,N+1问题好像不应该存在,这也说明了lazy-load对于DDD而言可能是一个坏味道。但是,解决N+1问题本身也相对比较容易,只要对相应的ORM框架有足够深入的理解以及借用SQL Tuning工具,解决大部分的性能问题。
针对报表的性能问题,仅仅依靠集中式的高性能的单数据库服务器,通过操作表进行数据读取,或者进行连接操作,或者进行映射操作,并不能满足用户对于性能的需求。尤其当有报表中存在业务逻辑时,比如用户权限控制,将使得出报表本身也变的非常复杂。因而,NoSQL以及分片和数据复制可能在这方面有更为出色的表现。
三、性能优化展望
性能问题是一个复杂的领域问题,解决性能问题关键是找出性能瓶颈,但是如果永远只能“东窗事发”之后进行补救还远远不够,因而在解决系统性能的道路上,需要在系统开发时给予足够的重视,甚至在架构决策时,也应该考虑性能的需求。在分布式处理以及大数据技术飞速发展的大背景下,对于性能的解决,我们也许还有更多的选择。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南