分享大咖是陈飞老师。陈飞老师直接列了一张运维成长路线图,也可以用作性能测试必备技能列表。所以如果你想成为一个出色的TestOps,快来看看今天的分享吧。
如果你属于下面情况之一,那分享的内容就特别适合各位
今天内容PPT 和Xmind 内容已经得到陈飞老师的授权。分享内容主要聚焦在干货上。
通过今天的分享内容,你会学到:
下面开始分享的内容。
一,运维职责
运维职责也就是运维日常工作内容。分三个阶段:
发布前:分析和审核架构设计的合理性和高可运维性,确保产品发布之后能高效稳定的运行。
发布阶段:用自动化技术或平台确保产品可以高效的发布上线,上线后可快速稳定迭代。
发布后:可以7*24 小时稳定运行。解决运维中各种问题,日常不断优化系统,提升系统的稳定性。
运维人员日常需要掌握的技能树。日常运维需要掌握的技能特别多,常见技能树见下图。蓝色会重点分享。
运维需要掌握的技能见下表总结:
二, 运维与测试
运维和测试是如何分工的?运维和测试日常是如何配合的?运维使用怎么样的流程来保证日常测试的有效性。
以Gitlab 为例。Gitlab 作为 代码仓库,tag 标记版本,打包生成docker的镜像作为版本。开发使用docker镜像的差异性来做日常测试,开发测试完成后。使用外网环境,进行上线前的最后一次测试。所有测试使用的是同一个docker 镜像,可以确保代码打包的一致性。所有配置文件都同步更新到了镜像内,配置文件会跟着镜像文件同步更新,运维只需要更新数据源和密钥信息就可以。
管理工具和测试技术见下方截图。自动化测试可以覆盖90%的业务,剩下的10% 都是新需求。
日常运维很多都使用Jenkins 和Gitlab 完成的。Jenkins 和GItlab 有哪些区别呢?详细对比信息见下图。Gitlab的Devops 是和代码集成的,所以使用很方便。
中文的Gitlab 网站:https://docs.gitlab.cn/
CI和CD 相关章节可以参考官网样例。
运维和测试日常要做好四件事情:
形成一个整体的循环。
下面举例说明以上各项流程。
操作系统使用操作规范举例:
数据库使用规范举例:
日志收集常见细则:
版本和配置日常使用细则:
.
监控报警的细则(运维,开发,测试都涉及最多的):
脚本编写的细则:
三,高性能系统的构建
高性能系统的最基本要求:高可用,高性能以及高稳定性。高稳定性如何验证呢?那就用到了监控。高可用和高性能其实是需要压测来检验的。压测后针对薄弱点进行优化。
性能测试涉及各种工具。详细需要用到的各种各样工具,参考下图。HTTP server, 数据库,cache 以及硬件的。比如硬盘的I/O,很多问题都是因为硬盘I/O 导致。
流量回放,通过收集一天或者一个小时用户使用的流量,然后再重放用户的流量。
性能测试过程中需要查看的指标有:TPS,QPS,server的并发数和吞吐量等。
Linux 操作系统性能观测工具以及常见命令。
使用工具的时候一定要知道工具所使用的指标的含义。每一类型的工具掌握1-2 个就可以。要活学活用。
性能分析时不要忽略进程。
性能分析完,发现了瓶颈后,就要优化了。针对性能薄弱点进行优化。针对 网络,存储,操作系统等进行性能优化。
应用方面的性能调优,Web Server 的性能调优。数据库的性能调优。索引,单索引,联合索引。数据库表结构以及字段优化等。
所有性能优化有2方面,应用和内核。一定要做好内核参数优化。一定要了解性能参数和指标。
服务高可用架构:如何设计一套高可用的服务?分基础设施和应用两部分。
四 , 监控
监控主要是监控系统,监控应用,监控业务。
实施监控的流程和步骤:
监控体系主要分为监控和告警,监控部分要明确监控对象的监控指标,同时这些针对监控对象的监控工具都有哪些?详细信息,见下列截图:
监控后得到的告警可以使用各种方式通知到具体责任人。
针对基础设施和应用的监控中黄色部分是要重点关注的。
下图中黄色和红色的部分工具最好是重点掌握。
日常工作中运维经常使用的Linux 命令如下。
通用以及常见用户或进程的linux 的命令。
五,技能与工作
运维工作中需要用到的工具和基础知识包含如下内容:
建议:当前容器化技术十分火热,要想跟上时代的节奏docker的容器化是所有人必须要学习的技能,但是重点要注意只有在自己掌握了基础服务的应用后再展开学习容器化技术,否则后期碰到的问题自己将完全无法解决。
运维人员日常主要工作系统包含:
使用常见监控报警作为例子演示一个日常运维的常见操作。通过该例子,相信大家会对运维的日常工作有一个深入的认识。
总结:
一)、运维方向
1、基础环境要有统一的标准。
2、监控日志数据一定要收集齐全,并且收集的数据要做相应的分析、告警。
3、容器化是当前技术发展的大方向,但是一定要先掌握基础的应用服务,再做容器化。
二)、测试方向
1、测试一定要深入了解业务流程逻辑,并且要对数据库的所有信息要有一定的掌握。
2、在做性能测试的时候,可以收集生产环境的请求信息,根据实际信息放大压测出的结果最为接近评测生产环境的性能。
三)、工作方向
1、运维、测试、开发,在日常工作中要注意避免各种简单错误,要注意团队间信任度。
2、在推进各类新型技术或者有想法做一些变更时,一定要先想好影响范围,并且团队之间一定要多沟通,尽量避免沟通不畅导致的各种问题。
本文分享自 rainbowzhou的成长足迹 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!