本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

【j2开奖】Web App性能优化之亮剑(2)

时间:2016-12-08 22:54来源:香港现场开奖 作者:开奖直播现场 点击:
I/O最常见的性能问题可能就是被大家熟知的N+1问题,它只存在于关系型数据作为存储介质的应用系统中,并且是只有在采用ORM框架的情况下才会出现的特有

  I/O最常见的性能问题可能就是被大家熟知的N+1问题,它只存在于关系型数据作为存储介质的应用系统中,并且是只有在采用ORM框架的情况下才会出现的特有问题。

  3.报表性能问题

  数据挖掘或者BI都需要对原始的庞大数据进行特殊处理,数据库模型或者是数据处理的方式是影响报表性能问题的关键因素。报表只是对数据进行读取操作,不涉及到数据更新,这一属性导致报表的数据模型理应与进行业务处理的读写数据模型是不同的。在原始的关系型数据库中,一旦报表的数据模型与业务数据模型一致,就容易出现表级别的数据库连接操作,这无疑会影响整个报表的性能。

  性能优化的策略与手段

  针对单纯的前台数据渲染问题,处理起来相对来说比较简单,一个方案就是静态构建一屏幕数据的DOM结构,动态加载用户数据,无需构建与数据记录等量的DOM元素。后台数据处理的性能问题,处理起来就相对比较棘手,首先受到既定的技术架构的限制,其次在既定的技术架构下,如何合理的划分边界,包括领域模型与API边界,本身就是一个见仁见智很难做出选择的复杂问题。

  对于重复的数据请求,处理起来比较简单,只需要去掉冗余的请求即可。如果把对于用户请求的处理逻辑看做服务的话,那么如何设计服务以及定义服务边界就成为了影响性能的关键因素。这背后体现的是用户需求的本质,以及对时间的分片处理。这就要求服务之间关注点各自分离、边界比较清晰,能够适应横向扩展。比如采用Publish-Subscribe模式的系统是一个很好的选择,但是模式永远只是指引的方向,如何很好地应用这些模式,同样需要对业务系统进行不断的探索。一旦设计了这样的服务,不仅能够灵活支撑扩展性,也使得持续的性能优化成为可能,不仅如此,这样的服务设计,还能够帮我们灵活调整优化策略,比如采用多线程、异步、服务自治、分布式或者集中式节点扩展、灵活选择数据持久化机制等等。

【j2开奖】Web App性能优化之亮剑

  处理N+1问题,更多地与业务模型以及业务上下文有关,从DDD的角度考虑这个问题,N+1问题好像不应该存在,这也说明了lazy-load对于DDD而言可能是一个坏味道。但是,解决N+1问题本身也相对比较容易,只要对相应的ORM框架有足够深入的理解以及借用SQL Tuning工具,直播,解决大部分的性能问题。

  针对报表的性能问题,仅仅依靠集中式的高性能的单数据库服务器,通过操作表进行数据读取,或者进行连接操作,或者进行映射操作,并不能满足用户对于性能的需求。尤其当有报表中存在业务逻辑时,比如用户权限控制,将使得出报表本身也变的非常复杂。因而,NoSQL以及分片和数据复制可能在这方面有更为出色的表现。

  性能优化展望

  

【j2开奖】Web App性能优化之亮剑

  性能问题是一个复杂的领域问题,解决性能问题关键是找出性能瓶颈,但是如果永远只能“东窗事发”之后进行补救还远远不够,因而在解决系统性能的道路上,需要在系统开发时就给予足够的重视,甚至在架构决策时,也应该考虑性能的需求。在今天分布式处理以及大数据技术飞速发展的大背景下,对于性能的解决,我们也许还有更多的选择。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容