性能测试 性能测试分析(三)性能测试负载分析 性能调优 性能优化 性能优化大法 服务器性能监控 负载均衡 负载分析 资源消耗分析 网络资源消耗分析 性能测试入门到精通 大结局 全剧终

阅读 40

2022-01-20

文章目录

一、前言

二、什么是SRE?

1、SRE 简介

2、SRE是什么?

3、SRE 如何保障稳定性?

4、SRE专业解释 参考

三、什么是DBA?

1、DBA 简介

2、DBA 技术分工

3、DBA 能力范围

4、DBA 详解

四、结束语


一、前言

        本文主要讲解理论无实战部署监控服务教程,性能监控&专业性能优化由SRE与DBA等多方人员共同协作完成。QA学习了解一下……

性能测试,本质是模拟高并实现压力逐渐递增,性能测试消耗执行测试机的硬件资源。


性能监控,指在执行性能测试过程中对被测服务器的资源消耗利用进行监控,性能监控也存在硬件资源消耗,第三方监控软件。软件性能测试?


性能优化,通过性能测试和性能监控后查看性能测试报告,根据报告反馈的数据范围判断是否需要性能优化,针对问题处理。

《盲人摸象》


二、什么是SRE?

1、SRE 简介

        SRE是指Site Reliability Engineer (网站可靠性工程师)。他是软件工程师和系统管理员的结合,一个SRE工程师基本上需要掌握很多知识:算法,数据结构,编程能力,网络编程,分布式系统,可扩展架构,故障排除。

        SRE起源于国外大型互联网公司,直接掌管着互联网公司的机器和服务,保证网站不宕机是他们的使命。SRE基本是从软件研发工程师转型,有很强的编程算法能力,同时具备系统管理员的技能,熟悉网络架构等,是一个要求非常高的职业。 [1] 
        大部分人理解SRE等于传统运维工程师(OP)或者系统管理员(SA),实则不然,这两类角色离一名合格的SRE还有太大的差距,完全无法匹配得上这个称号。
        在国内,只有少数几家顶尖互联网公司才会出现真正的SRE。

2、SRE是什么?

SRE不是做底层硬件维护,而是负责各种服务的性能和稳定性。
远离底层硬件,更多靠近软件基础架构层面,帮助企业客户打造强大的软件基础构架。

3、SRE 如何保障稳定性?

        线上稳定性问题,人为操作不当导致的比例很高,集中在 发布 和 线上运维 两个环节,均是高频操作。对于复杂系统,这两个环节对专家经验有较强的依赖。

        发生的稳定性问题通常具有系统性的特征,即非单个功能组件缺陷导致,而是由一系列因素综合作用导致,如缺少监控告警导致不能及时感知,缺少日志不能有助于快速定位问题,缺少良好的问题排查流程导致依赖个人能力,缺少良好的协调沟通极致导致问题处理时长增加、客户影响程度加剧等。

        问题是不可避免的,流量的突增、服务器/网络/存储的损坏、未覆盖的输入等,均会诱发问题的出现。

阿里技术专家对 SRE 和稳定性保障的理解.png

可控性方面,包括如下三个主要维度:

  • 发布管理
    • 重点解决发布导致的人为稳定性问题。
    • 包括发布前重要变更评审和发布中变更动作管理等。
  • 操作管理
    • 重点解决黑屏操作导致的人为稳定性问题。
    • 包括统一集群操作入口、集群操作权限管理、集群操作审计等。
  • 设计评审
    • 重点解决软件系统设计阶段应用稳定性保障最佳实践。
    • 包括集群方案评审和重要功能设计评审等。

可观测方面,包括如下几个重要维度:

  • 监控
    • 重点解决软件系统运行态的感知能力。
    • 包括监控收集/可视化系统的搭建和维护等。
  • 日志
    • 重点解决软件系统的问题可排查能力。
    • 包括日志收集/存储/查询/分析系统的搭建和维护等。
  • 巡检
    • 重点解决软件系统功能是否正常的主动探测能力。
    • 包括巡检服务的搭建、通用巡检逻辑的开发维护等。
  • 告警
    • 重点解决异常的及时触达需求。
    • 包括告警系统的搭建、告警配置管理、告警途径管理、告警分析等。

稳定性保障最佳实践,是从历史问题和业界实践方面抽象出意识、流程、规范、工具,在系统设计之初就融入其中,并在系统整个生命周期中加以使用,如通过模板固化最佳实践:

  • 项目质量验收标准
  • 项目安全生产标准
  • 项目发布前 checklist
  • 项目 TechReview 模板
  • 项目 Kick-off 模板
  • 项目管理规范
  • etc.

4、SRE专业解释 参考

这是阿里技术专家对 SRE 和稳定性保障的理解

https://www.kubernetes.org.cn/8850.html


三、什么是DBA?

1、DBA 简介

        DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

        数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

 
        在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师

2、DBA 技术分工

        产品的整个生命周期里数据库管理员的职责重要而广泛,这催生了各个纵向的运维技术方向,凡是关系到数据库质量、效率、成本、安全等方面的工作,及涉及到的技术、组件,主要包括:

  • 数据库监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障。

  • 数据库故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性。

  • 数据库容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作。

  • 数据库性能优化:从各个方向,包括SQL优化、参数优化、应用优化、客户端优化等,提高数据库的性能和响应速度,改善用户体验。

  • 数据库安全保障:包括数据库的访问安全、防攻击、权限控制等。

  • 数据库自动部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务。

  • 数据库集群管理:包括数据库的服务器管理、分布式集群管理等。

  • 数据库模型设计:包括数据库逻辑和物理模型的设计,如何实现性能最优,架构可扩展,服务可运维等。

 打通MySQL架构和业务的任督二脉,做个DBA高手!

3、DBA 能力范围

        数据库管理员以技术为基础,通过技术保障数据库提供更高质量的服务。DBA工作的职责及在业务中的位置决定了DBA需要具备更加广博的知识和深入的技术能力。在数据库环境的管理与维护中,技术任务可归结成许多不同的分类。下面列出了一名DBA应掌握的一些技术(排名不分先后)。

4、DBA 详解

百度百科解释

https://baike.baidu.com/item/数据库管理员/1216449?fromtitle=DBA&fromid=3349&fr=aladdin

打通MySQL架构和业务的任督二脉,做个DBA高手!

https://www.sohu.com/a/218910017_463994


四、结束语

沉默是金……


如果觉得文章写不错,那就点个赞,点个收藏吧。


精彩评论(0)

0 0 举报