7D性能项目日记4:做性能可不可以是一种信仰?

这个标题一写出来,应该就会有人说这是走火入魔了,一个职业有啥可成为信仰的?难道不要工资就为了干这个行业吗?当然不是,听我徐徐道来。

前几天在上海跟几个同行吃饭。其间谈到,有些人不愿意做性能(这里的性能包括性能测试、分析调优、容量规划等工作),其原因是太难了,其他的工作可能要轻松一点,并且从薪水上说似乎也差别不是很大。

由此我想到性能这个行业也确实是在这么一种状态:本该很有价值,但在实际工作中却因为技术、管理、流程等原因很难体现出价值来。这就导致了市场上对性能工程师的薪水定位一直都处于不太高的状态,比功能测试人员要高一点,但和架构工程师、开发工程师相比,还是偏低的。

但在实际的工作中,如果一个完整的性能团队,需要的技术栈是什么样的呢?

在这里插入图片描述

总结下来就是一句话:完整的性能团队的技术栈应该覆盖一个系统优化所需要的所有技术细节。这样的要求对一个人来说可能是过高了的(当然如果一个人可以做到,那也是非常好的),所以这里我写的是性能团队。这个团队可以是临时的、虚拟的团队,总之,目标是解决一个系统的性能瓶颈,达成指标。

从这个角度来思考性能项目的价值,那就是要做到满足线上运行的性能指标。而实现性能指标的过程所需要的能力,就应该是性能工程师修炼的能力,而修炼成这种能力就应该是一个性能工程师的信仰。 就像教徒修炼到无我相无人相无众生相无寿者相的境界。

可能有人觉得我在描述的是分析优化的能力,而不是性能测试的能力。其实不然,一个性能测试工程师对性能工具的功能使用熟练这一点基本上都能做到,但是会产生什么样的结果却不一定是非常清楚的。

前几天在项目上遇到的一个细节是,一个系统用50个压力线程递增,TPS只有20左右。我过去看了一下,TPS趋势图是一开始就到了20左右。而测试工程师对这样的趋势图没有反应。

这里其实就涉及到一个细节。在性能行业中,太多性能测试工程师把压力线程的配置当成最最重要的一个功能点,而不是关注TPS的趋势如何走向才是正确的。在以前的专栏中,其实这一点我也反复反复强调,一定要关注压力数据的趋势!趋势!这里所强调的趋势,在一个正常的场景中,其实也就是两个图的趋势:TPS图和响应时间图。

(这里为什么我不强调压力线程图呢?留个疑问在评论区讨论吧。)

于是我说把递增时间拉长,10秒上一个压力线程,结果上到5个线程就已经到100左右的TPS了。 为什么会出现这种情况?显然是响应时间很快,而压力线程增加太快的话,其实已经超过了服务器能承受的上线,于是tps下降了。当然这里还可以看到一个性能瓶颈就是服务器没有维持最高tps的能力。

在性能的行业中,将各技术栈融会贯通才能真正面对各种陌生的问题,而不是守着测试工具、监控工具那一点东西。现在的工具产品的设计,也不应该仅在测试、监控那点事上下功夫,而应该设计一些真正合理的性能工程级的产品。

再回到本文的开头。做性能行业的人,也要知道,在这个市场上什么样的能力值什么样的价位。想赚钱没有问题,先看看行业的能力要求,如果从1-100的能力要求,你能达到多少,再谈赚钱会更容易一些。

在每个项目中(这个项目也不例外),我会专门安置做性能分析的岗位,注意,这个和性能测试工程师不同,而是专职性能分析,给出具体的优化建议,包括架构级的、代码级的、SQL级的、配置级的等等。

所以真的喜欢这个行业的话,将修炼自己的技术深度、宽度做为信仰,可以让你更值钱,也更受尊重。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/547913.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯EdgeOne产品测评体验—Web服务全能一体化服务,主打一步到位

前言 现在网络Web攻击真的防不胜防啊,相信有很多独狼开发者自己建站,租个云服务器,一部署自己的服务,每隔一段时间内测和网站总有一个要崩。自己感觉难受不说,网站稍微有点要出头的时候,数不清的访问攻击就…

STM32学习和实践笔记(13):数码管显示实验

共阳就是共正极,也就是正极全部接在一起。 共阴就是共负极,也就是负极全部接在一起。 我目前使用这款PZ6806L,使用了一个共阳数码管。 共阴与共阳在码表上其实就是正好取反就可以了,所以可以共用一个码表。 数码管显示程序主要分…

零基础也可以学习的医疗设备维修技能

零基础也可以学习的维修技能 解锁工程师的隐藏潜能! 您是否曾因维修问题而感到束手无策? 彩虹医疗影像培训课程不仅提供技能, 更能为您提供自信。不再需要依赖他人, 您将成为故障排查的行家。迎接更具挑战性的机会&#xff0…

LeetCode_1304.和为零的 N 个不同整数

题目: 题解: 题目说让我们返回一个由n个各不相同的整数组成的数组,相加为0。 这里的比较好的办法就是类似于 1 2 3 0 -3 -2 -1这样对称的数组。既满足要求,又好实现。 先calloc出一个容量为n的整型数组,定义两个变量…

【VIC水文模型】模型原理简介

VIC水文模型原理 VIC水文模型概述土壤(Soil)积雪(Snow)动态湖和湿地模型动态湖(Lake Model)湿地模型(Wetland Model) 1 VIC模型陆面水文过程(产流过程)1.1 能…

PHP-001、PHP学习之PhpStorm+PhpStudy环境安装

一、说明 由于当前需要,暂时停止学习python,当然有时间继续,转为php,听说php开发网站、小程序等运行效率更高,朋友那边再做这个,准备学习一下,和朋友们一起来吧,就这开发环境安装&a…

【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析完整AC代码】(L2-025 - L2-048)搞懂了赛场上拿下这些分就稳了

L2-025 分而治之 并查集 样例 输入样例: 10 11 8 7 6 8 4 5 8 4 8 1 1 2 1 4 9 8 9 1 1 10 2 4 5 4 10 3 8 4 6 6 1 7 5 4 9 3 1 8 4 2 2 8 7 9 8 7 6 5 4 2输出样例: NO YES YES NO NO分析: 先将所有边记录下来,再每次询问时&…

【MySQL】 mysql 日常工单处理脚本 解放你的双手!!!

简介 在工作中经常帮助开发的小伙伴执行些 sql,手动执行效率低不直观,还要单独备份等等,极为麻烦,怎么办?用它!解放时间多摸鱼!!!我的摸鱼小帮手。 流程图:…

C语言结构体的使用

C语言结构体的使用 1、先声明在定义 #include<stdio.h> #include<string.h> struct student{ char name[20]; int age; double score; };int main(){ struct student st; struct student *stt&st;strcpy(st.name,"zhangsan"); //通过地址赋值 (&am…

Matroska解封装原理与实践

本期作者 背景 Matroska是一种开放标准、功能强大的多媒体封装格式&#xff0c;可容纳多种不同类型的视频、音频及字幕流&#xff0c;其常见的文件扩展名为.mkv、.mka等。与应用广泛的MP4相比&#xff0c;Matroska更加灵活开放&#xff0c;可以同时容纳多个字幕&#xff0c;甚至…

云计算,如何从IT战略上升为企业核心战略?

ITValue 本文摘自《云栖战略参考》&#xff0c;这本刊物由阿里云与钛媒体联合策划。目的是为了把各个行业先行者的技术探索、业务实践呈现出来&#xff0c;与思考同样问题的“数字先行者”共同探讨、碰撞&#xff0c;希望这些内容能让你有所启发。 首发&#xff5c;钛媒体APP I…

YOLO-World——S(cvpr2024)

文章目录 Abstract成果 MethodPre-training Formulation: Region-Text PairsModel ArchitectureYOLO DetectorText EncoderText Contrastive HeadTraining with Online VocabularyInference with Offline Vocabulary Re-parameterizable Vision-Language PANText-guided CSPLay…

面试算法-174-二叉树的层序遍历

题目 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 解 class Solut…

消息队列中间件,RabbitMQ的使用,死信队列,延迟队列,利用枚举实现队列,交换机,RountKey的声明

目录 0.交换机种类和区别 1.声明队列和交换机以及RountKey 2.初始化循环绑定 3.声明交换机 4.监听队列 4.1 监听普通队列 4.2监听死信队列 5.削峰填谷的实现 0.交换机种类和区别 Direct Exchange&#xff08;直连交换机&#xff09;&#xff1a; 直连交换机将消息发送到…

武汉星起航:亚马逊跨境引领全球贸易新趋势,展现积极影响力

随着全球化浪潮的持续推进&#xff0c;跨境电商行业正迎来前所未有的发展机遇。亚马逊作为全球领先的电商平台&#xff0c;其在跨境电商领域的发展趋势备受瞩目。亚马逊跨境电商不仅扩大了跨境市场的规模&#xff0c;优化了供应链管理&#xff0c;还积极应用科技创新&#xff0…

【讲解下如何从零基础学习Java】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

pyqt实战-软件通用界面设计模板样例

软件界面 技术点 无边框设计自定义右上角最大化&#xff0c;最小化&#xff0c;关闭按钮界面布局能够自适应界面的放大缩小按住鼠标左键能够拖动整个界面treewidget整体风格设计 代码 import sysfrom PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.Qt import * impor…

c# 服务创建

服务 创建服务 编写服务 可以对server1.cs重新命名&#xff0c;点击你的server按F7进入代码编辑模式&#xff0c;编写脚本 双击你的server.cs右击空白位置&#xff0c;添加安装程序&#xff0c;此时会生成“serviceInstaller1”及“serviceProcessInstaller1” 后续可以点击P…

开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

开源相机管理库Aravis例程学习&#xff08;一&#xff09;——单帧采集single-acquisition 简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程&…

CSS特效---跳动的文字

1、演示 2、一切尽在代码中 <!--* Author: your name* Date: 2023-10-03 14:42:44* LastEditTime: 2023-10-03 14:56:26* LastEditors: DESKTOP-536UVPC* Description: In User Settings Edit* FilePath: \css-special-effects\跳动的文字.html --> <!DOCTYPE html>…
最新文章