当前位置:论坛首页 > Linux面板 > 求助

【已解答】求助高并发解决方案

发表在 Linux面板2022-4-8 11:00 [复制链接] 8 6132

服务器:阿里云12台 16核32g带宽 100M 的服务器  ,负载均衡。宝塔版本:6.0
系统:centos7 :nginx1.20 + php7.4
业务逻辑:一个单独的Api ,接收合作方提交的数据。
接口量级: 每秒的请求数量在2000次左右 ,每次请求的数据量在20k左右。 每天共请求 2亿次请求左右。

业务逻辑:将合作方提交的数据直接写入redis 队列

===============压测==================
压测工具:jmeter  
超时时间:10秒
注释:并发压测的时候 ,直接输出 hello world 。也不做入队列操作。

并发两千的时候 ,异常率达到 1%。(超时或者无响应)

无论增加或者减少机器,都无法降低 接口异常率。


===============生产环境===========================
部署到生产环境之后,异常率 更高 达到10%。

请问 官方有这种 付费的 高并发解决方案没?




使用道具 举报 只看该作者 回复
发表于 2022-4-8 11:44:52 | 显示全部楼层
您好,可以尝试下面的方案
1、每秒2000次请求,每次20K,大概每秒产生2000*20=40MB,内存 32g,跑满32g大概需要10分钟跑满。
2、压测的时候是输出hello world,并发2000,运行10s异常率1%,2000*10*0.01=200个异常请求
3、redis 内存型的数据库,如果不做持久化,并且设置key过期时间(限制内存使用10G),配置上主从,在从库上做持久化
4、用户没有说磁盘的问题,增加SSD固态硬盘可以减少异常率
使用道具 举报 回复 支持 反对
发表于 2022-4-8 11:57:47 | 显示全部楼层
大炮运维V587 发表于 2022-4-8 11:44
您好,可以尝试下面的方案
1、每秒2000次请求,每次20K,大概每秒产生2000*20=40MB,内存 32g,跑满32g大概 ...

压测的时候:
1,服务器内存一直正常,没有飙升的情况。
2,代码很简单
<?php
$data = $_REQUEST;
echo 'hello world!';
?>
3,并发2000的时候 失败率基本在 1%
4,压测的时候 ,也没有存入redis
5,redis 买阿里云的 4G主从性能增强版
6,专门买过8G的redis 跑压测试,写不写redis 都是一样的异常率。
=====================
生产环境的时候:
1,redis指数都 正常
2,服务器cpu,负载,内存都正常,都很低




使用道具 举报 回复 支持 反对
发表于 2022-4-8 11:59:22 | 显示全部楼层
宝塔用户_ecqoir 发表于 2022-4-8 11:57
压测的时候:
1,服务器内存一直正常,没有飙升的情况。
2,代码很简单

nginx并发 和php的并发多少?
使用道具 举报 回复 支持 反对
发表于 2022-4-8 12:22:31 | 显示全部楼层
大炮运维V587 发表于 2022-4-8 11:59
nginx并发 和php的并发多少?

图片里面是 nginx 和 php 负载情况

微信图片_20220408121624.png
微信图片_20220408121630.png
使用道具 举报 回复 支持 反对
发表于 2022-4-8 14:20:16 | 显示全部楼层
宝塔用户_ecqoir 发表于 2022-4-8 12:22
图片里面是 nginx 和 php 负载情况

这里的nginx和php的总请求数分别才1W多次
使用道具 举报 回复 支持 反对
发表于 2022-4-8 14:24:03 | 显示全部楼层
大炮运维V587 发表于 2022-4-8 14:20
这里的nginx和php的总请求数分别才1W多次

这个截图是 刚开始压测时候 截图的
使用道具 举报 回复 支持 反对
发表于 2022-4-8 14:58:21 | 显示全部楼层
大炮运维V587 发表于 2022-4-8 14:20
这里的nginx和php的总请求数分别才1W多次

这是之前其中一台生产主机的 截图

nginx

nginx
使用道具 举报 回复 支持 反对
发表于 2022-4-19 15:17:22 | 显示全部楼层
宝塔用户_ecqoir 发表于 2022-4-8 14:58
这是之前其中一台生产主机的 截图

面板的监控项的负载截图看下
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表