性能压测背景:

小型电商公司,平常访问量不大,但是一旦涉及引流搞活动时,网站明显性能有问题,平常上线功能中基本上不太考虑性能,长期已久后,线上性能问题成为一个隐形问题,不知道站点流量上限在哪里,故需要组织一次全站点的压测,摸清线上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语法

一、实战-压测流程,总概述相关推荐

  1. java 高并发mqtt服务器_Boomer 实战压测 mqtt,2w 并发轻松实现

    // main.go // 代码仅供参考,无法直接运行. package main import ( "bytes" "encoding/csv" " ...

  2. locust压测工具:启动概述

    locust压测工具启动概述 本文环境python3.5.2 locust版本0.9.0 locust概述 locust是一个简单易用.分布式的用户压测工具,并确定系统可以处理多少并发用户.在测试的时 ...

  3. 常用性能压测工具实战总结

    ### 一.压测背景 >以前:未出社会之前经常用AB工具来压测自己的 nginx 欢迎页面,看着服务器的资源从20%到100%,发现原来一个开源的工具都可以把一台4C8G的虚拟机压爆满,然后就陷 ...

  4. Elasticsearch - 压测方案之 esrally 简介

    文章目录 为什么要压测? 如何进行压测? 入门 简介 快速入门 相关术语 track car race Tournament Pipeline 压测流程 压测结果分析 实战 问题一 问题二 问题三 进 ...

  5. Elasticsearch 压测方案之 es rally 简介

    rally文档:http://esrally.readthedocs.io/en/latest/quickstart.html 由于 Elasticsearch(后文简称es) 的简单易用及其在大数据 ...

  6. ES压测工具(一):esrally工具入门与实践

    一.esrally工具介绍 esrally是基于python的针对ES(Elasticsearch)实现压测的工具 rally的定义是the macrobenchmarking framework f ...

  7. 灵活应对流量压力,定期压测服务器,鹿晗结婚都不怕

    热点来的太快就像龙卷风,明星的八卦总能作为事件引发热点. 10月8日,鹿晗与关晓彤恋情公布,瞬间上了热搜,粉丝炸了,微博的服务器也跟着瘫痪了. 微博瘫痪,让一位微博工程师在结婚的当口放下酒杯,开始扩容 ...

  8. 一次实战压测流程及问题梳理

    之前有提到最近在配合业务做压测,这个过程中除了在业务及肉鸡上发现一些问题外,在整个压测流程上也踩了不少坑. 所以打算把自己认知中的完整流程记录下来,后续可以继续迭代. 背景及目的 在动手之前,先要想清 ...

  9. 中通全链路压测探索与实践

    01 背景 目前在中通性能测试主要分为线上和线下压测两种方案,在反复实践过程中我们渐渐发现这两种方案都有着各自不足之处,且为压测工作带来了很多不便.以下就线上和线下压测的不足分析,谈谈中通是如何一步步 ...

最新文章

  1. [linux内核]將ubuntu更新到最新的内核
  2. ORA-06519: active autonomous transaction detected and rolled back
  3. MiniGUI编程之Helloworld(一)
  4. 快速排序算法 java 实现
  5. go方法的深入探究(7.21增补)
  6. 【译】gRPC vs HTTP APIs
  7. linux网络编程之用一张图片说明套接口常用函数
  8. Android 获取屏幕宽度和高度直接转换为DP
  9. DSOfile,修改windows系统文件摘要
  10. sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
  11. centos6.5 bash基础命令2
  12. phantomjs 安装使用
  13. linux系列的命令补充
  14. 树莓派python gpio 模仿iic_树莓派高级GPIO库,wiringpi2 for python使用笔记(五)i2c读取测试...
  15. 电力系统微型计算机继电保护试题及答案,电力系统微型计算机继电保护试题及答案(2002年4月)...
  16. 统一建模语言 UML
  17. BP神经网络学习算法原理
  18. linux ftp命令大全,linux ftp命令详解
  19. “开心网”10亿“卖身” !
  20. 正则表达式-验证座机号码

热门文章

  1. multer 文件上传系统在express中的使用
  2. “智慧+”制造数据分析应用方案
  3. [文本处理]——Python实现全角字符转化为半角字符
  4. vue组件通信provide/inject
  5. 异常处理的try语句
  6. 京东财报:业务向上,业绩向下
  7. 微信小程序,使用map组件实现微信定位功能
  8. 如何使用Unity中的HDRI视图
  9. win10电脑上WLAN网卡不见了,无线网路连接不上怎么办?
  10. mysql的delete语句_mysql删除语句