1、简单的使用机型牌评估

1)jdk默认256M给100用,推荐给1000+人同时用JVM 堆栈建议2G~4G(目前定了机型4核8G内存  2T磁盘做radio0存储);

2)数据库配置文件写了占了2G+内存(my.cnf文件),redis+syslog+nginx 最好2G内存-实际大概1G ,消息队列1G内存,Java系统推荐2~4G,所以8G内跑差不多1千;

3)16G内存能够很好的跑1千+,最好适当调整mysql、nginx(跟cpu主要相关)、程序的jvm堆栈大小

4)4G跑测试没啥事,给500人用,最好适当调低mysql于程序的jvm堆栈大小

2、用apipost简单压测项目

1)nginx一如既往的稳定由于前台大小不同,并发可达到:6000~10000

未做优化的nginx,走默认配置;nginx优化特别吃cpu,有视频、大文件、较多socket开始吃内存(也就是流文件)

2)后台接口测试:

        1、软件平台预估:1000人同时使用

        2、未用专门的cockpit 软件监测 centos/rocky 服务器,用简单的top 和free -h查看服务器资源已基本最大值

  评估并发2000得:除了按照若依配置那个tomcat等待线程池子;或者独立数据库和redis;或者cpu 和内存*2才能达到

3、专业还是得用jmater集成测试:

1、新建登录和核心业务相关接口

2、将他们规程一条测试线路

3、进行集成测试

4、排查性能瓶颈并优化核心业务

5、再次进行性能压测;

简单使用可参考

JMeter压测http接口_jmeter压测csdn-CSDN博客文章浏览阅读1.3k次。创建线程组线程组下面创建http请求在http请求下面创建自定义变量在http请求下创建BeanShell PreProcessor有些参数需要进行加密等操作,可以在这个地方写java逻辑比如MD5签名import java.security.MessageDigest;import java.security.NoSuchAlgorit..._jmeter压测csdnhttps://blog.csdn.net/lihuayong/article/details/86660981

4、压测图片如下

apipost可以离线使用,我就不发安装包了,百度就能下载到,这个工具只能做单接口压测(在接口旁边就有个一键压测),专业的还是得jmater;

简单并发评估,给1000人同时使用:在线操作率3/4~200%,错误率应保证0.5%以下,没错误才是最好的;

注:压测试的服务器cpu 尽量不出现超频(cpu超过100%),内存使用率不超过95%;若超了属于危险指标,建议加配置(理论顺便优化系统性能瓶颈,更佳);

4、测试指标


1)核心业务测试指标:


1000人使用:在线操作率3/4~200%,错误率应保证0.5%以下,没错误才是最好的;


2)非核心业务测认识指标:


1000人使用:在线操作率0.2%~20%,性能达到5%~20%即可,错误率应保证5%以下,没错误才是最好的;


3)数量指标


各系统:
页面:提供重要功能2~5个页面,非核心页面:提供几个;由于页面有需要验证token,应该去掉页面token拦截器,然后进行压测;
接口:提供核心接口3~8个:非核心接口提供几个;压测可去掉权限验证,进行压测;

5、后续突然产品抽,说早上5万人用不卡

稳定点

1)4核8G(应用、数据库、redis、nginx1台):5000人在线用,1000同时用,优化可以1万人在线,1000人用;

2)8核16G (应用、数据库、redis、nginx1台):10000人在线用,2000同时用,优化可以2万人在线;在根据若依微调配置:

3)5万人在线,5000人同时用:推荐 2台 8核16G(网卡万兆-6类网线,此时受限的不是机器而是网卡),数据库,redis 1台,应用和nginx放1台,此时我需根据机器定制优化nginx的配置、redis的配置、spring-session的管理方式、程序配置参考若依,部分接口还得加队列解耦,此时改造已大概能支撑10万以及的集群(此时成本是最高的,需要2周去优化性能瓶颈);

6、后面找了一台不是固态的可能网卡还有点问题的

因为压测、监控时 磁盘和网络都上不去

目前测试情况项目 
1)63-压测2分钟 200/qps,配置 机械盘 24核16Gcpu至强2.2Khz;
2)62压测2分钟 450/qps 固态盘 4核4G intel i3 主频3.3khz;

63 程序可能瓶颈压测:
1、登录性能瓶调用签名算法并写入库-关闭此功能 63 达到 390/qps
2、保存和更新日志签名采用一个数据库操作也调用签名,并发:370/qps,明显是数据库写达到瓶颈;
3、只修改数据库连接池至由50改为 200,并发为 270/qps

以下包含连接池变动(下面测试也发生了网路波动,原310变为了265,也证明网络也是性能瓶颈)

4、logback日志级别改为warn,即syslog和request日志级别改为warn 并发为:310/qps or 265/qps
以下包含连接池变动、和降低日志级别
5、不生成运行临时文件,指向黑洞路径 > /dev/null 2>&1 性能为 280/qps
6、后台运行 nohup & 性能为 283/qps
7、增大mysql可支持线程数(解除mysql线程限制,之前为4核8G,现在24核) 418/qps
8、假设优化签名方式(签名、验签不包含主键,且加大压测线程数)412/qps

结论:1)磁盘换固态写性能大大提高,2)cpu线程多,可给mysql多分配线程
3)程序配置数据线程池有定作用,部署不做集群,且cpu线程多 可适当调大
4)应用优化有一定作用

压测后续:
我偷偷又压测几种情况

此时程序优化的较为优化了,压测线程数1000:430/qps
数据库独立,机械盘(59数据库),同样增大数据库线程数据:386/qps ,结论->机械写应该就是瓶颈了
那就换62的固态盘调用,因为有明显性能提升,压测性能为:1023/qps ,继续加大压测线程数据:1171/qps
但是还是没到我的理想,我记得jdk 要是不是很好的兼容,可能并发有问题,那就换 adpot :1149/qps 和 oracle:1039/qps
此时确认不是机器不兼容jdk的事

此时确认不是机器不兼容jdk的事,受限的是mysql,附录图片,mysql并发与机器配置关系 (教程的最后面)

rocky(Centos) yum 安装mysql,切换路径、优化配置,不关SELINUX 并设置开机自启_服务器开机自启mysql-CSDN博客文章浏览阅读2.6k次,点赞2次,收藏2次。1、安装方式介绍mysql安装共3中方式1)yum安装,最简单的方式2)rpm包安装,切记下载相应系统的 稳定版 源码包,相对较简单3)压缩包安装:自由度高,但配置相应复杂,且需要自己注册自启服务注:1,2,3无法在一台机器上共存,1,2可以通过mulit-mysql启动多个服务看,但无法实现:单机上的myql主从只有3方式支持1台安装多个mysql服务,实现mysql主从一、安装步骤1.获取最新的yum rmp包地址下载地址:MySQL :: MySQL Commu_服务器开机自启mysqlhttps://blog.csdn.net/qq_26408545/article/details/124114793

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐