美文网首页
性能优化的路怎么走

性能优化的路怎么走

作者: 前端进城打工仔 | 来源:发表于2019-07-03 22:13 被阅读0次

    性能一直是软件系统要考虑的一大非功能性需求,也是非常影响用户的使用体验因素之一。如果一个系统功能强大,但是任何一个操作都要加载几分钟,那么这个系统最终使用的人会越来越少。

    一般一个网站的响应速度在1秒以内是比较不影响用户使用体验的,如果在3~5秒,就已经算是慢的了,大于8秒很多用户都已经没有耐心去等待了。这就是很多人说的互联网8秒原则。

    所以性能高真的非常重要,以下是一些关于如何提高性能的实践,会持续更新。

    发现性能问题

    发现性能问题的几个方式:
    1.用户上报
    2.压测,观察一些数据得到,例如fps等
    3.利用工具来追踪性能,例如:听云,zipkin。这个就需要持续的关注结果。

    找出性能瓶颈

    添加一些追踪的工具来找到性能瓶颈是什么
    1.zipkin 查看服务的链路,找到最耗时的服务
    2.听云

    解决

    找到耗时比较长的接口,看里面具体是什么原因导致耗时长

    例如:

    • 查找数据库慢,如果是数据库导致的,可以考虑加索引,优化数据库结构,考虑是否要分库分表、读写分离(一个数据库又读又写可能会有锁,分了读写数据库的请求)

    • 调用第三方接口慢,查看调用第三方的接口,看第三方系统的文档或者咨询相关人员,找到性能更好的方式。
      例如加一些查询参数,可以缩减查询的内容;
      同样的一个接口,用search in方式拿到的数据,可能没有直接调用明确的=来的快;

    • 如果性能瓶颈还是在第三方接口上,考虑缓存机制,
      例如项目上把看板的价值列和泳道都缓存起来,卡片的数据是实时查询第三方系统;
      什么时候清缓存?

    • 设置过期时间(这个目前没有做,需求上不需要)

    • 数据更新的时候更新缓存

    • 大部分数据更新时清除缓存

    • 没有缓存的时候去第三方接口获取,然后缓存起来

    优化

    有一些连带操作是不影响用户使用体验的,可以考虑把这些连带操作设计成异步的,不去阻塞主进程,让用户无感知。

    相关文章

      网友评论

          本文标题:性能优化的路怎么走

          本文链接:https://www.haomeiwen.com/subject/izbeqctx.html