背景
一亿用户量,平均每人每天10次的业务量,要求并发数在5000以上,峰值在5w到10w之间,QPS在25w以上

一、jmeter解决高并发的优化方案
            1.1 优化监听(GUI模式,尽量不考虑)
            1.2 优化监听(Non-GUI命令行模式)
            1.3 结果文件优化(结果数据一定要保存为CSV格式)
            1.4 如果要超高并发建议不要直接使用分布式压测(可以采用多master多slave模式)
            1.5 可以选择用Jmeter + Grafana + InfluxDB的方式,来代替报告文件的生成
            1.6 尽量在linux下执行
 二、Jmeter超高并发实现方案
            采用Jenkins+Jmeter + Grafana + InfluxDB方案,Jenkins,influxdb,Grafana部署到同一台机器(配置尽量往高了搞),Jmeter分别部署到其他服务器,便于Jenkins统一调度
            注:服务器之间内网连接
                    带宽尽量高一些

三,部署
    3.1 Jenkins部署
            参考:http://www.360doc.com/content/21/1209/15/78048805_1007851779.shtml
    3.2 influxDB 部署
        3.2.1 下载安装包
                【官网地址:https://www.influxdata.com/】
                【百度云下载:https://pan.baidu.com/s/1BH8NvzXLd5rnaYUNtLIPng 
                    提取码:nnp3】
        3.2.2 安装
                解压:tar zxvf influxdb-1.8.4_linux_amd64.tar.gz
                将解压后的文件移动到/usr/local/influxdb 路径下
                编辑/usr/local/influxdb/etc/influxdb/influxdb.conf配置文件
                在[[graphite]] 标签下,去掉注释
             
                在[[http]] 标签下,去掉注释
                
                切换到/usr/local/influxdb/usr/bin 目录下,将influxd 做成软链接放到/bin目录下
                ln -s /usr/local/influxdb/usr/bin/influxd /bin
                成功后,可直接influxd启动influxd服务。出现如下信息表示启动influxd服务成功
                
                如果启动不成功,编辑/usr/local/influxdb/etc/influxdb/influxdb.conf中

bind- address = "127.0.0.1:8088",重新启动即可
                将/usr/local/influxdb/usr/bin 目录下的influx 也做成软链接放到/bin 目录下。
                ln -s /usr/local/influxdb/usr/bin/influx /bin
                现在可以通过influx 命令直接访问influxdb数据库。
                
                下面去创建一个jmeter数据库
                create database jmeter
                具体influxdb的使用命令,可参考:                  https://blog.csdn.net/qq_32014795/article/details/116518364

3.3 Grafana部署

3.3.1 下载安装包

官网下载:Grafana: The open observability platform | Grafana Labs

百度云下载:链接:https://pan.baidu.com/s/173m-d735gLmldGPpvRX4hg 
                                        提取码:ncwe
                注:不要下载最新版本,尽量下载8.4.7这个版本,目前8.5.*版本无法导入模板

3.3.2 安装

yum install grafana-8.4.7-1.x86_64.rpm

注:rpm安装需要安装依赖包,尽量使用yum命令安装

通过rpm -qa | grep grafan查看是否安装成功

3.3.3 启动服务

systemctl  daemon-reload

启动grafana 服务:systemctl  start  grafana-server

查看grafana 状态:systemctl  status grafana-server

停止grafana 服务:systemctl  stop  grafana-server

服务启动好之后,可以通过localhost:3000/login地址访问,如果是要远程访问则需要开启3000的防火墙访问权限,如下:firewall-cmd --zone=public --add-port=3000/tcp --permanent

firewall-cmd --reload

3.3.4 登录

浏览器输入:ip:3000访问,初始账号密码是admin,admin

登陆后可修改密码

3.3.5配置

在设置-> Data Sources

Add data source

搜索influxdb

配置influxdb

接下来是选择仪器表模板,在新建 --> import 中,如下图:

导入模板目前有两种方式,一种是直接通过url 或 模板id进行搜索,一种是通过在grafana官网下载好json格式的模板,手动导入。

下面是通过输入模板url地址进行导入模板,如下

模板导入成功后,大致如下:

3.4 Jmeter配置

监听器增加后端监听器

3.6 服务器配置java+Jmeter环境

多台服务器,尽量配置同样的java及jmeter环境,另外Jmeter所需要的jmx及依赖文件尽量配置相同的路径

jmeter启动尽量使用shell脚本启动

如:#!/bin/bash
                cd /data/testinterface/apache-jmeter-5.4.1/bin
                ./jmeter -n -t /data/testinterface/health-code/luohe-test/luohetest.jmx -l report.jtl

3.7 Jenkins同时调度多台服务器执行Jmeter脚本

通过Jenkins执行后,结果如下:

四:总结 

        以上是针对多slave的模式进行,这样有个弊端,就是当并发量特别高的时候,需要更高的带宽来向influxdb写入数据,当然也可以考虑influxdb的集群模式进行

这种模式也可配合分布式使用,配置多master分布式和多influxdb的模式。

Jmeter超高并发解决方案相关推荐

  1. 高并发编程(四)高并发解决方案从前端到数据库

    1. 高并发和大流量解决方案 高并发架构相关概念 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理 ...

  2. JavaWeb 并发编程 与 高并发解决方案

    在这里写写我学习到和自己所理解的 Java高并发编程和高并发解决方案.现在在各大互联网公司中,随着日益增长的互联网服务需求,高并发处理已经是一个非常常见的问题,在这篇文章里面我们重点讨论两个方面的问题 ...

  3. 10Wqps 超高并发 API网关 架构演进之路

    说在前面 在尼恩的(50+)读者社群中,经常遇到一个 API网关 架构方面的问题: (1) 尼恩老师,最近公司我们在规划业务出口网关(目的,整合规范外部调用,如短信平台 mqtt 等) 我在做整理技术 ...

  4. java 高并发解决方案

    查看全文 http://www.taodudu.cc/news/show-168969.html 相关文章: Docker搭建网页数据库管理-Adminer Docker运行sonarqube-(代码 ...

  5. 《Java并发编程入门与高并发面试》or 《Java并发编程与高并发解决方案》笔记

    <Java并发编程入门与高并发面试>or <Java并发编程与高并发解决方案>笔记 参考文章: (1)<Java并发编程入门与高并发面试>or <Java并发 ...

  6. jmeter http并发测试时报错

    jmeter http并发测试时报错 错误信息如下:jmeter Response code: Non HTTP response code: java.net.URISyntaxException ...

  7. Java 高并发_JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程 没有项目经验的朋友不要错过!...

    JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程 没有项目经验的朋友不要错过! 1.JPG (37.82 KB, 下载次数: 0) 2018-12-3 09:40 上传 2.JPG (28 ...

  8. 小工匠聊架构-超高并发秒杀系统设计 06_数据一致性

    文章目录 Pre 概 减库存分析 方案利弊 下单减库存 付款减库存 预扣库存 大型秒杀中如何减库存 秒杀减库存的优化 Pre 小工匠聊架构-超高并发秒杀系统设计 01_总体原则和架构演进 小工匠聊架构 ...

  9. 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计

    文章目录 Pre 概 why how 排队 问答机制 方案设计 分层过滤 总结 Pre 小工匠聊架构-超高并发秒杀系统设计 01_总体原则和架构演进 小工匠聊架构-超高并发秒杀系统设计 02_数据的动 ...

最新文章

  1. poj3264(ST表模版)
  2. 编译程序加不加 -lpthread 的区别【转】
  3. 华为研发出了哪些芯片?
  4. 阿里排查Java问题工具清单!
  5. 【网络编程】之八、异步选择WSAAsyncSelect
  6. Centos Flex 2.6.4
  7. 关系数据库——并发控制
  8. 【项目实践】:KNN实现手写数字识别(附Python详细代码及注释)
  9. Python AES
  10. 无线上网卡和无线网卡的区别
  11. Android通知,PendingIntent示例
  12. 软件工程-团队作业3
  13. 解决办法:cv::randn(cv::_InputOutputArray const, cv::_InputArray const, cv::_InputArray const)’未定义的引用
  14. Nginx实战基础篇七 最新源码包通过脚本部署LAMP搭建Discuz论坛
  15. makefile通配符
  16. 南京大学计算机专业复试面试,2014 CS复试全面回忆 上机真题 面试血泪史
  17. 怎样用计算机xp命令修复软件,系统之家xp系统修复控制台命令使用方法
  18. 怎么看曲线有没有斜渐近线_怎样判断一个曲线有无斜渐近线
  19. 解决 ZLibrary 登录/注册不了的问题
  20. html设置字段只读,html怎么设置只读

热门文章

  1. MYSQL--架构--MGR--理论--01--MGR是什么
  2. Vue2 手势解锁密码 / 支付宝手势解锁
  3. 推荐一些手机游戏开发会用到的网站
  4. 编译 FFmpeg-4.4
  5. cool-admin框架前端使用-vue3版本,useUpsert使用
  6. 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(4):K临近
  7. 20分钟做一套采购审批系统
  8. Matlab plot函数画图间隔标记
  9. eclipse右下角一直提示“jpa project change event handler” 用着很卡
  10. 计算机网络基础小抄,自考计算机网络技术基础小抄.doc