童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

浅析互联网产品的性能优化

10月10日 囍孤女投稿
  作为产品经理,要对所负责产品的整体用户体验负责,产品的性能优化是很重要的一个环节,为了避免用户在使用产品过程中出现卡顿、加载缓慢、崩溃等性能问题,同时也为了在安排性能优化工作时做到心中有数,我们有必要加深一下对性能优化的理解。
  WEB端性能优化
  网页并不是单独存在的东西,它需要一个载体(浏览器),无论是pc端还是移动端。使用网页的一个基本流程:在浏览器输入网址、DNS解析(将输入的域名转换为IP地址)、下载html文件、下载css文件、下载js文件等等,当然这一切都是基于网络的,如果没有网络的话,网页也就不能使用了。
  前端页面优化
  加载优化
  对于网页来说,加载过程是最为耗时的过程,可能会占到总耗时约80的时间,因此作为优化的重点。
  减少HTTP请求。每个请求建立连接也需要时间,dns解析也需要时间,所以做到尽量减少网络请求个数。可采用如下方案:合并CSS、JS。合并小图片,使用雪碧图(把每张小图标以。png格式文件的形式引用到页面上,使用雪碧图只需要引用一张图片,对内存和带宽更加友好)。使用iconfont或SVG代替小图片。
  使用缓存(关于缓存,可查看浅析互联网中的缓存机制)。使用缓存可以减少向服务器的请求次数,节省加载时间,所以所有静态资源都要在服务器端设置缓存。使用缓存的方案:缓存一切可缓存的资源。使用外联式引用CSS、JS。
  压缩HTML、CSS、JS。减少资源大小可以加快网页的显示速度,所以要对HTML、CSS、JS等进行代码压缩。
  避免相互阻塞。CSS的代码放在页面的头部并使用Link方式引入,避免在HTML标签中写style样式,JS放在页面尾部。
  使用首屏加载。首屏的快速显示,可以很大程度上提升用户对页面速度的感知,因此应尽量针对首屏的快速显示做优化。
  按需加载。将不影响首屏的资源和当前屏幕资源不用的资源放到用户需要时才加载。可采用如下方案:延迟加载LazyLoad。滚屏加载。注:按需加载会出现重绘制,会影响渲染的性能。
  预加载。大型的重资源页面可使用提前加载下一页的方式加载页面。
  图片优化。图片过大会影响页面的加载速度。优化方案:使用iconfont或SVG代替。webp优于jpg。PNG8优于gif。
  减少Cookie。Cookie会影响页面的加载速度。
  避免重定向(通过各种方法将各种网络请求重新定个方向转到其它位置)。重定向会影响加载速度,在服务器中应正确设置避免重定向。
  代码优化
  相关代码的一些优化,也会提升网页的性能。以下这些是我从开发哥哥那里得到的答案还有一些查询的资料,这一块的优化还需要多和开发哥哥沟通。
  尽量避免写在HTML标签中写Style属性。
  移除空的CSS代码。
  合理使用display属性。
  不滥用Web字体。
  不声明过多的fontsize,过多的fontsize引发CSS的效率。
  标准化各种浏览器前缀。
  JS避免不必要的Dom操作。
  尽量使用ID选择器,ID选择器是最快的。
  渲染优化
  浏览器只有在确定了页面编码后才能正确的渲染页面,所以在绘制页面或执行任何的JS代码前,大部分的浏览器都会缓冲一定字节的数据来从中查找编码信息。所以需要做一些如下的优化:
  减少Dom节点。Dom节点太多影响页面的渲染,应尽量减少Dom节点。
  动画优化。
  后端性能优化
  在我们的网站越来越庞大之后,网站后端的系统架构应该逐步向高性能、高可用、高伸缩等特性进行完善,后端架构的完善对网站的性能也起着至关重要的作用。改善性能的一些方法如下:
  应用、数据、文件分离。将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置好不同的硬件。
  添加代理服务器。当用户请求达到时首先访问代理服务器,代理服务器将缓存的数据返回给用户,如果没有缓存才会继续向应用服务器获取,这样降低了获取数据的成本。
  部署CDN(内容分发网络)。将数据内容缓存到运营商的机房,用户访问时先从最近的运营商获取数据,这样大大减少了网络访问的路径。
  使用集群改善应用服务器性能。业务服务器作为网站的入口,会承担大量的请求,往往通过业务服务器集群来共同分担请求数。集群也就是部署多台服务器。
  数据库读写分离。随着用户量的增加,数据库成为最大的瓶颈,改善数据库性能常用的手段是进行读写分离,读写分离就是将数据库分为读库和写库。
  将业务服务器进行业务拆分。随着业务的扩展,应用程序会变得非常臃肿,这时我们需要将应用程序进行业务拆分。每个业务负责相对独立的业务运作。业务之间可以通过消息进行通信或者共享数据库。
  使用分布式文件存储系统。用户量增加,产生的文件也会越来越多,单台的文件服务器已经不能满足需求,这时就需要分布式文件存储系统来进行支撑。
  移动端性能优化
  性能对于移动端的用户体验上更是尤其的重要,以下是针对移动端性能优化的总结内容。
  启动速度优化
  APP的启动会分为三中不同的状态:
  冷启动。App没有启动过或App进程被killed,系统中不存在该App进程。在这个过程中,屏幕会显示一个空白的窗口(颜色基于主题),直至首屏完全启动
  热启动。热启动意味着你的App进程只是处于后台,系统只是将其从后台带到前台,展示给用户
  温启动。介于冷启动和热启动之间。a用户back退出了App,然后又启动。b用户退出App后,系统可能由于内存原因将App杀死
  由此可见,启动优化其实就是针对冷启动进行的优化。
  UI布局优化
  布局的优化遵循一个原则就是,尽量减少布局层级和复杂度,细节方面也是一些代码层级的优化。iOS与安卓端细节不同,此处就不做详细阐述了(其实是我也不知道,还没有问开发哥哥)。
  页面响应速度优化
  避免“操作无响应”的情况。原则是:不在主线程里面做繁重的操作。
  消除页面卡顿
  用户感觉到的卡顿,主要来源于界面的刷新。而界面的性能主要是依赖于设备的UI渲染能力。如果我们的UI设计过于复杂,或是实现不够好,设备又不给力,界面就会像卡住了一样,给用户卡顿的感觉。消除页面的卡顿应该做到如下方面:
  避免过于复杂的布局。
  避免过度绘制(每屏每帧上,每个像素点应该只被绘制一次,如果有多次绘制就是过度绘制了)。
  电量优化(针对于安卓设备)
  对于用户来说,App的电量损耗是用户体验的一个方面,特别是当今人们对移动设备的依赖度越来越高的前提下,电量也是用户特别关注的一个点。从我们手机的电池详情统计可以简单看出,手机中最耗电的模块肯定是屏幕了,接着就是网络相关。对于电量方面的优化有以下几种:
  优化网络请求。
  监听手机充电状态。监听电池状态,可以将一些操作放在充电或是电量足够的情况下进行,例如用户数据同步,数据上传,下载更新包等。
  及时关闭GPS,减少更新频率。GPS或网络可二选一,这样会降低电量损耗。
  网络请求优化
  App的网络连接对于用户来说,影响很多,直接影响用户对这个App的使用体验。其中较为重要的几点:
  流量。流量是花钱买的,如果一个APP会浪费掉用户大量的流量,势必会严重影响用户体验
  电量。电量现在对于用户体验来说也是重要的一环
  用户等待。果App请求等待时间长,会给用户网络卡,应用反应慢的感觉,如果有替代品,我们的App很可能就会被用户无情舍弃
  以下方面可以优化网络请求:
  减少网络数据获取的频次。
  减少获取数据包的大小。
  加入网络缓存与本地缓存。
  打包网络请求。
  数据压缩。
  延时加载tab页面。
  优化算法。
  弱网测试与优化。
  数据库优化
  和WEB端一样,数据库方面的优化也会提升APP的使用性能。比如:
  数据库重构。
  查询语句的优化。
  数据库分库。
  服务器和客户端的交互优化
  除了同WEB相似的服务器优化,在服务器与客户端交互方面可做如下优化:
  客户端尽量少请求。
  服务端尽量多做逻辑处理。
  通信协议的优化。
  最后
  以上就是关于WEB与移动端性能优化方面的小总结,性能优化绝大多数是需要开发哥哥们来完成的,所以,好好善待开发哥哥们吧!
投诉 评论 转载

浅谈无障碍设计:盲人愉快玩智能手机的秘密若你作为一名产品经理,去设计一款可供盲人使用的智能手机,你会怎么设计?盲人用手机早已不是什么新鲜事,在诺基亚还在主宰传统手机的年代,他们通过实体按键和提示语音,可以把手机……深入浅出谈互联网之交互篇对任何产品而言,交互不仅仅只是锦上添花,而是雪中送炭。这篇文章为整个《深入浅出谈互联网》系列的第一篇文章,之所以会选这个主题,是因为观主深深的感受到现如今太多人进入互联网……实践调研:浅析多元化的直播间盈利方式文章是作者对YY直播、映客、花椒直播、网易CC、虎牙直播等多家直播产品盈利模式调研后的总结,与各位分享,欢迎大家探讨交流。目前优秀的直播产品在经历了白热化的竞争之后,也开……案例分析:产品的信息反馈设计在产品设计中,“信息反馈”是很重要的一个产品交互特征,用以给用户正确的引导信息,帮助用户做出判断和决策。而反馈的形式也是多方面的,视觉、听觉、触觉、正面的、负面的,都是在为用户……电商tips:失效商品为何共享购物车总数量限制?失效商品为何共会享购物车总数量限制呢?文章为你一一解读。1)首先,往前多思考一步,相信有些小朋友会奇怪为什么购物车依然保留失效物品?原因有二:a。任何设计,在……浅析互联网产品的性能优化作为产品经理,要对所负责产品的整体用户体验负责,产品的性能优化是很重要的一个环节,为了避免用户在使用产品过程中出现卡顿、加载缓慢、崩溃等性能问题,同时也为了在安排性能优化工作时……iOS程序员眼中的首次使用产品体验产品懂技术,就像流氓会武术。技术会点产品,就像会武术的人去耍流氓一、前言首先想说一下为什么写这篇文章:《启示录》这本书曾提到:如果开发的产品没有市场价值,那么……怎样把复杂逻辑与信息,转化为简洁的界面体验?交互设计师的工作具体是什么?这里我通过实例的方式给大家具体讲讲设计一个产品的工作流程,怎样将复杂的逻辑问题转换为简单易懂的界面语言。交互设计师一般收到的是一份较为详细的思……交互设计原则解析:心理模型、错误处理文章为大家分享了2个交互设计原则:心理模型、错误处理。一起来学习下。最近在重读《设计心理学》,看到关于交互的定义,有点儿意思,跟大家分享一下:交互设计:重点关注人与……运用“通感设计语言”,进行项目服务体验升级如何建立用户行为模型,通过数据验证设计效果?如何深度参与产品服务全流程?或许你可以尝试用一下“通感设计语言”。如何建立用户行为模型,通过数据验证设计效果?如何深度参与产品……以实例讲产品改版(下):需求与设计《以实例讲产品改版方法论》系列,是一个时间跨度接近半年的全站改版大项目,留下的一点经验,共分为两个部分:上篇《改版的立项与推动实操经验》;本文为下篇,主要讲改版语境下的需求规划……透过京东浅析电商购物流程本文将以京东购物流程为主线,来聊一聊越来越复杂的购物流程是如何运转的。enjoy选产品购物车结算订单生成,或许是一个最基本的购物流……
深度体验报告UC浏览器国际版:研究UC浏览器的海外运营策略对比虎扑体育和肆客足球这两款竞品,懂球帝应如何创造自己的未来每日开眼设计解读及细节修改求职工具体验:乔布简历APP产品分析报告开眼APP分析及设计细节微调站在产品角度,重新认识朋友圈网易要做云音乐课堂?全面解析商业化变现方式我追了12个月的金融App排行榜,最大的感触是。。游戏直播平台之“三雄争霸”:斗鱼、熊猫、虎牙,谁能称王?做竞品分析,不是要你写产品体验报告从产品的角度分析:知乎核心功能《问答》直播APP竞品分析:在国民时间的争夺战中,直播APP该如何获
不喜欢看星星的宅女不是好厨师宣誓造句用宣誓造句大全怀俄明蟾蜍属于珍惜的两栖动物曾开展人工哺育幼儿园妇女节教案新时期农业科研单位办公室精细化管理创新思考ROG游戏手机6D官网现身,或将配备天玑9000希特勒的生理缺陷是什么有传言希特勒是两性人谣言揭秘武则天为自己物色“男妃”的秘闻突然的发现2025年销量要达80万辆零跑汽车朱江明是在画饼还是真有实力夏天的雨三年级优秀作文一键查手机号全网包裹

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界