广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >性能调优的标准是什么
  • 516
分享到

性能调优的标准是什么

2024-04-02 19:04:59 516人浏览 泡泡鱼
摘要

这篇文章主要讲解了“性能调优的标准是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“性能调优的标准是什么”吧!前几天,和一个同学瞎聊,他说,“我们公司的系

这篇文章主要讲解了“性能调优的标准是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“性能调优的标准是什么”吧!

前几天,和一个同学瞎聊,他说,“我们公司的系统从来都没有经过性能调优,集成测试没问题后就上线了,上线后也几乎没出现过性能问题。”

我当时没回他。因为没遇到性能问题不代表程序不存在性能问题,只能说明系统的访问量有点小。有印象吧?每次明星爆出个大瓜,微博就挂了,那就是因为短时间内访问量暴增后,扛不住压力,出现了性能瓶颈。

大部分的性能问题都是由于访问量过大导致的,我记得汪峰在京东做过一次直播,那画面卡成狗,几乎没法下单,画面都出不来。因为京东之前没做过直播,没遇到这么大访问量,估计那次活动结束后,直播方面的开发没少挨批。

还有一部分性能问题是随着时间积累爆发的,程序在服务器上运行一段时间后就要重启,否则某个时间节点内存就突然爆掉了。反正我司一些项目就遇到过这方面的尴尬,一开始的解决方案就是写个脚本,在夜深人静的时候,偷偷地重启释放一下内存。

在性能方面要求最高的我认为就是  12306,搞不好是要被全国人民骂街的。以前在苏州的时候,不论是不是节假日,每次坐火车回洛阳,或者从洛阳去苏州,都感觉同伴好多啊,怎么这么多人坐火车,不是南下就是北上,不是东进就是西出。遇到春运的时候,12306  承载的压力可想而知有多大,秒杀活动压根没法和它相提并论。

如果有小伙伴为 12306 工作过,那可以吹一辈子的牛逼了,你比在淘宝双十一工作过的小伙伴牛逼一万倍(嗯,我先替你吹一波,据说 12306 的高峰访问是  10 亿 PV,非常 BT)。

知道了性能调优的重要性后,我来问问小伙伴们,什么时候介入性能调优会比较好?

如果你的回答是“越早越好”,那显然是错误的答案。

我在之前的文章中提到过软件开发的一条原则,就是“Done is better than perfect”,因为“perfect is never  done”。性能调优是一项持久战,很早就开始介入,并不是一件好事。

你想啊,系统第一时间上线才是最重要的,不然你一边想着性能调优,一边疲于开发进度,可能两者都做不好,反而拖累了系统研发的进度。等你系统上线了,可能用户已经被别的系统抢走了,你永远都没有性能调优的机会了。

不要总想着把所有的功能做完善,做完美后再上线,应该在产品具有一定的雏形后就立即上线试错,根据用户的反馈,根据市场的需求再去考量是否追加一些其他的功能或者优化

那我再来问问小伙伴,哪些因素会成为系统的性能瓶颈呢?闭上眼睛,转个圈,想一想。

  • 数据库:几乎所有的系统都会用到数据库,大量的数据库读写操作会严重影响到系统的性能,所以数据库缓存技术 Redis  变得越来越重要。另外,系统运行时间久了之后,数据量就会变得非常大,不仅需要在 sql 上做很多优化,还要在分库分表上下足功夫。

  • 网络:如果你家的网速很慢,那就要去问问运营商,你家的带宽多少。或者,至少检查一下,你家的网线是百兆的还是千兆的,虽然网线都很短,短到只有猫到路由器那么一小节。网络带宽如果太小的话,就意味着数据传输得很慢,就像跑车到市区,搞不好还没有自行车快。

  • 磁盘:我家里的台式机都换成了固态硬盘,换了之后的速度就比之前普通硬盘的快很多。多说一点,数据库的读写操作就是磁盘 I/O,而 Redis  之所以快,就是因为 Redis 操作的是内存,但 Redis 牛逼的一点在于它不仅可以做缓存,还可以将数据持久化到磁盘。

  • 内存:内存的读写速度比磁盘快得多,但空间远没有磁盘那么大,一般家用的计算机内存在 16G 已经是很高的配置了。众所周知,Java 程序是通过 JVM  分配内存的,创建的对象都放在堆内存上,操作起来就很快,但如果代码写得有问题的话,就很容易造成内存溢出。

  • CPU:CPU 的计算速度快到超出人的想象,所以阿尔法狗可以轻松地打败柯洁。如果,我真的是说如果啊,放在 CPU  还是奔腾的年代,柯洁还是可以轻松打败阿尔法狗的。如果程序涉及到大量的上下文切换,或者造成 JVM 频繁的 GC,就很容易长时间占用  CPU,导致出现性能问题。

在实际的工作当中,小伙伴们也可以按照上面的顺序进行性能调优。一开始,不要盲目对内存和 CPU  下手,这个难度有点大,并且效果不明显;搞不好,还会影响到整个系统的使用。先从数据库、网络和磁盘着手优化,很容易看到效果,并且不容易出错。

最后一个问题,小伙伴们知道系统的性能指标吗?

1)响应时间

很多年以前,我干过一件很蠢的事。公司有一台闲置的云服务器,是 windows Server  版的,刚好有一客户想体验我司的系统,我就没想那么多,把系统部署到了这台云服务器上。

结果呢?

首页打开的速度超级慢,慢到需要将近一分钟的时间。不仅客户的下巴惊掉了,我自己的也掉了。

为了挽回颜面,我对首页相关的后端前端做了很多优化,后端刻意使用了缓存技术,减少了 SQL 语句的查询;前端压缩了 javascript 和  CSS,减少了请求数,甚至更换了 CDN,使用了图片懒加载,但收效甚微。

最后静下心来想了想,同样的代码,部署到 linux 环境下的那个系统就很快,就算是第一次打开首页需要加载资源,响应时间仍然短到无法感知。于是就把  Windows Server 重装成了 Centos,效果立竿见影,响应时间短到离谱。

那,一个系统的性能好不好,响应时间(指系统对请求作出响应的时间,比如用户打开首页)就是最明显的一个直观上的指标。对于游戏来说,响应时间小于 100  毫秒还算不错,响应时间在 1 秒左右勉强接受,如果响应时间达到 3 秒就没法玩了。

性能调优的标准是什么

2)吞吐量

吞吐量(Transaction Per Second)是指系统在单位时间内处理事务的数量,一个事务可能包含多次请求,它反映出系统承受的压力。

需要注意的是,TPS 和 QPS 是不一样的,后者指的是单位时间内请求的数量,当用户的操作只包含一个请求接口时,TPS 和 QPS 没有区别。

吞吐量可以细分为网络吞吐量和磁盘吞吐量。前者是指在某个时刻,在网络中的两个节点之间,提供给网络应用的剩余带宽。即在没有帧丢失的情况下,设备能够接受的最大速率。后者是指单位时间内系统能处理的  I/O 请求数量,I/O 请求通常为读或写数据操作请求,关注的是随机读写性能。

最后来简单总结一下。性能调优非常重要,不仅用户体验好,系统稳定,更能体现出真正优秀的编码水平。我相信所有的小伙伴都能写出跑的通的代码,但至于痛不痛快,就需要在性能方面有所研究了。

换句话说,如果你跳槽到一家公司,恰好解决了原有系统的性能瓶颈,那不得了啊,兄弟,你立马就得到公司重用了!

感谢各位的阅读,以上就是“性能调优的标准是什么”的内容了,经过本文的学习后,相信大家对性能调优的标准是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 性能调优的标准是什么

本文链接: https://www.lsjlt.com/news/84467.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 性能调优的标准是什么
    这篇文章主要讲解了“性能调优的标准是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“性能调优的标准是什么”吧!前几天,和一个同学瞎聊,他说,“我们公司的系...
    99+
    2022-10-19
  • 怎么制定Java性能调优标准
    这篇文章主要为大家展示了“怎么制定Java性能调优标准”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么制定Java性能调优标准”这篇文章吧。为什么要做性能调优?一款线上产品如果没有经过性能测试...
    99+
    2023-06-05
  • 性能调优的通用准则
    一句话: 多加一层,就好了。 比如...
    99+
    2022-10-18
  • HTML标准属性是什么
    这篇文章主要为大家展示了“HTML标准属性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML标准属性是什么”这篇文章吧。   HTML标签拥有属性。...
    99+
    2022-10-19
  • Div+CSS标准化的优点是什么
    这篇文章主要讲解了“Div+CSS标准化的优点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Div+CSS标准化的优点是什么”吧!Div+CSS布局网...
    99+
    2022-10-19
  • jvm性能调优的方法是什么
    JVM性能调优的方法包括以下几个方面:1. 内存调优:通过调整JVM的堆内存大小(-Xmx和-Xms参数)来优化内存使用效率,避免过...
    99+
    2023-10-10
    jvm
  • 亚马逊服务器性能测试标准是什么
    负载均衡测试:测试服务器能够承受多少并发请求,并保证不会因为服务器性能瓶颈而导致用户访问缓慢或无法响应。 高可用性测试:测试服务器能够在多长时间内无故障运行,并且不会因为单点故障导致整个服务不可用。 资源利用率测试:测试服务器资源的利用率...
    99+
    2023-10-27
    亚马逊 性能测试 服务器
  • python内置标准库的功能是什么
    Python内置标准库提供了许多常用的功能,包括但不限于:1. 数学计算:math模块提供了数学计算相关的功能,如三角函数、指数运算...
    99+
    2023-08-08
    python
  • springboot tomcat性能调优的方法是什么
    调优Spring Boot Tomcat的性能可以有以下几种方法:1. 增加Tomcat的线程池大小:通过修改Tomcat的配置文件...
    99+
    2023-10-11
    springboot tomcat
  • Nginx+Linux性能调优的方法是什么
    本篇内容介绍了“Nginx+Linux性能调优的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Nginx以高性能负载均衡、缓存和w...
    99+
    2023-06-16
  • Golang标准库syscall详解(什么是系统调用)
    目录一、什么是系统调用二、Golang标准库-syscall1. syscall无处不在2. syscall demo举例:go版本的strace三、参考一、什么是系统调用 In c...
    99+
    2022-11-12
  • w3c的三大标准是什么
    W3C(World Wide Web Consortium)是一个国际标准化组织,致力于推动和制定Web技术的标准。它的工作主要包括制定Web标准、推广Web技术和提供相关的指导和资源。W3C的三大标准是:1. HTML(Hypertext...
    99+
    2023-10-21
    w3c标准
  • web标准的构成是什么
    Web标准主要包括结构、表现、行为三个方面构成。结构是指用于对网页元素进行整理和分类(HTML),表现指的是用于设置网页元素的板式、颜色、大小等外观样式(css),而行为是指网页模型的定义及交互的编写(JavaScript)。Web标准提出...
    99+
    2022-10-21
  • html的使用标准是什么
    这篇文章主要介绍“html的使用标准是什么”,在日常操作中,相信很多人在html的使用标准是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html的使用标准是什么”的疑惑...
    99+
    2022-10-19
  • 钉钉智能财务收费标准是什么
    在如今的数字化时代,企业财务管理变得越来越重要,尤其是在大中型企业中。传统的财务管理模式存在着一些弊端,如成本控制困难、数据难以追踪等。而钉钉智能财务的出现,正是为了解决这些问题而出现的。 钉钉智能财务是指基于移动互联网技术,实现企业财务...
    99+
    2023-10-28
    收费标准 财务 智能
  • 衡量优质香港服务器租用的标准是什么
    衡量优质香港服务器租用的标准是:1、看香港服务器所属的IDC机房设备质量是否较好;2、看香港服务器的带宽是独享带宽还是共享带宽;3、看香港服务器的售后技术支持服务是否较好。具体内容如下:机房:因为IDC机房的级别不同,所采用的网络设备也不一...
    99+
    2022-10-03
  • javascript和actionscript基于的标准是什么
    这篇文章主要介绍了javascript和actionscript基于的标准是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇javascript和actionscript基于...
    99+
    2022-10-19
  • 云主机的选择标准是什么
    云主机的选择标准:1. 注意云主机的性能,根据业务需求考虑云主机的性能及管理性,减少企业业务的负担。2. 考虑云主机的可扩展性,是否支持业务弹性伸缩,实现快速部署云主机。3. 注意云主机的使用范围,根据公司的业务运营选择合理的配置。4. 注...
    99+
    2022-10-15
  • Htlm的标准代码格式是什么
    这篇“Htlm的标准代码格式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Htlm的...
    99+
    2022-10-19
  • python的标准输入方法是什么
    今天小编给大家分享一下python的标准输入方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可以通过单个文件的内容作...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作