一、实战-压测流程,总概述
性能压测背景:
小型电商公司,平常访问量不大,但是一旦涉及引流搞活动时,网站明显性能有问题,平常上线功能中基本上不太考虑性能,长期已久后,线上性能问题成为一个隐形问题,不知道站点流量上限在哪里,故需要组织一次全站点的压测,摸清线上tps瓶颈
网站关键数据量:
用户量:3.3百多万,日均新增:300-5000,在线活跃:1万-2万
商品总量:1.2百多万,在售中:18.7万 日均新增:15-2k多
订单总量:1.5百多万 日均:15k-18k
以下压测流程并不是一个完善成熟的流程,都是一步一步摸索过来的,整个过程遇到的问题和头疼点不少,有的没有解决就过了。。。。
压测流程
1、压测前期准备
- 梳理压测业务流程
- 根据线上log查询的接口访问量,记录访问高的接口情况和单接口访问峰值(峰值可作为压测tps目标参考值)
- 了解线上整个环境以及架构
2、压测计划制定(和参与人员同步)
参与人员:测试、运维、开发
测试方案 :
- 压力测试——逐步加压,确定单个接口系统瓶颈(峰值),针对瓶颈优化
- 稳定性测试——以一定的压力下(大于日常)运行: 1*24h(待定,目的,以后网站日常流量的增加)
- 压测流程时间计划
3 、压测脚本设计:
- 单个业务接口加压
- 混合场景组合加压,压测时施并发比例
- 根据不同业务流程,整理该流程中的接口,并非所有的接口都有整理,eg:可以确定没有压力的接口,例如配置类的接口 每个流程中 接口
- 施压记录比例,可参考“线上log查询的接口访问量 ”,另外也会参考接口的重要性,比如创建订单接口,是核心重要接口,可能加压会大点*
5、压测环境申请和准备
- 应用服务器、数据库、中间件 、监控系统、压力机
注意项:
应用相服务器和线上环境一致or等比
数据库数据的量和线上一致,不能必线上少
6:压测脚本开发
- 哪些脚本需要参数化
- 测试数据准备:哪些参数化需要大批量的测试数据,并确定是用数据库已经存在的,还是要自己批量生成
- 哪些需要设置检查点
7、压测前试运行
- 确定脚本能够执行
- 确定脚本的数据执行后产生的数据,和线上隔离
- 确定执行结果在监控系统反应
8、压测执行
压测实施
- 逐步加压
- 记录每次压测结果(记录在模版中)
- 新的一轮压测前要确定环境资源和测试数据还原
压测监控:
监控节点:应用服务器、数据库服务器、其他中间件:redis、kafka,mongodb
监控指标:系统指标(平均响应时间、90%响应时间、tps)、服务器指标(cpu、内存、网络、io)
线上log:压测时报错接口日志、慢sql监控、redis大key(大于2m)
9、压测结果分析
压测结果分析时最难的,需要了解到的知识特别多,如果不是很懂这些,需要拉上有经验的开发、运维一起查找
运维优化:调整配置,eg:服务增加机器数,降低自动扩容门槛
开发优化:缓存、算法、线程池配置、sql语法
一、实战-压测流程,总概述相关推荐
- java 高并发mqtt服务器_Boomer 实战压测 mqtt,2w 并发轻松实现
// main.go // 代码仅供参考,无法直接运行. package main import ( "bytes" "encoding/csv" " ...
- locust压测工具:启动概述
locust压测工具启动概述 本文环境python3.5.2 locust版本0.9.0 locust概述 locust是一个简单易用.分布式的用户压测工具,并确定系统可以处理多少并发用户.在测试的时 ...
- 常用性能压测工具实战总结
### 一.压测背景 >以前:未出社会之前经常用AB工具来压测自己的 nginx 欢迎页面,看着服务器的资源从20%到100%,发现原来一个开源的工具都可以把一台4C8G的虚拟机压爆满,然后就陷 ...
- Elasticsearch - 压测方案之 esrally 简介
文章目录 为什么要压测? 如何进行压测? 入门 简介 快速入门 相关术语 track car race Tournament Pipeline 压测流程 压测结果分析 实战 问题一 问题二 问题三 进 ...
- Elasticsearch 压测方案之 es rally 简介
rally文档:http://esrally.readthedocs.io/en/latest/quickstart.html 由于 Elasticsearch(后文简称es) 的简单易用及其在大数据 ...
- ES压测工具(一):esrally工具入门与实践
一.esrally工具介绍 esrally是基于python的针对ES(Elasticsearch)实现压测的工具 rally的定义是the macrobenchmarking framework f ...
- 灵活应对流量压力,定期压测服务器,鹿晗结婚都不怕
热点来的太快就像龙卷风,明星的八卦总能作为事件引发热点. 10月8日,鹿晗与关晓彤恋情公布,瞬间上了热搜,粉丝炸了,微博的服务器也跟着瘫痪了. 微博瘫痪,让一位微博工程师在结婚的当口放下酒杯,开始扩容 ...
- 一次实战压测流程及问题梳理
之前有提到最近在配合业务做压测,这个过程中除了在业务及肉鸡上发现一些问题外,在整个压测流程上也踩了不少坑. 所以打算把自己认知中的完整流程记录下来,后续可以继续迭代. 背景及目的 在动手之前,先要想清 ...
- 中通全链路压测探索与实践
01 背景 目前在中通性能测试主要分为线上和线下压测两种方案,在反复实践过程中我们渐渐发现这两种方案都有着各自不足之处,且为压测工作带来了很多不便.以下就线上和线下压测的不足分析,谈谈中通是如何一步步 ...
最新文章
- [linux内核]將ubuntu更新到最新的内核
- ORA-06519: active autonomous transaction detected and rolled back
- MiniGUI编程之Helloworld(一)
- 快速排序算法 java 实现
- go方法的深入探究(7.21增补)
- 【译】gRPC vs HTTP APIs
- linux网络编程之用一张图片说明套接口常用函数
- Android 获取屏幕宽度和高度直接转换为DP
- DSOfile,修改windows系统文件摘要
- sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- centos6.5 bash基础命令2
- phantomjs 安装使用
- linux系列的命令补充
- 树莓派python gpio 模仿iic_树莓派高级GPIO库,wiringpi2 for python使用笔记(五)i2c读取测试...
- 电力系统微型计算机继电保护试题及答案,电力系统微型计算机继电保护试题及答案(2002年4月)...
- 统一建模语言 UML
- BP神经网络学习算法原理
- linux ftp命令大全,linux ftp命令详解
- “开心网”10亿“卖身” !
- 正则表达式-验证座机号码