常用商品查询接口每个并发100后查询速度下降

TM

请问一下大佬们,对于常用的查询商品接口,因为经常改变数据没存入缓存,并发100每个接口同时查询,带宽基本拉到3-4M左右 目前是5M宽带,CPU和内存没怎么变化,有什么办法优化速度吗
截图
截图
截图

711 5 2
5个回答

TM

目前分类数据已经存缓存了 除了用户的商品数据没存

  • 暂无评论
TM

查看数据库慢日志并没有慢的,查看查询速度基本都是20-50毫秒

  • 暂无评论
six

外网压测网络是瓶颈,5M带宽压不出什么的,太低了。

1、加大带宽
2、加大并发,例如100并发改成500甚至更多
3、转为内网或本机压测,排除带宽问题

apipost本身有一些bug,有时候无法达到最大压力,最好用ab或者其它专业的压测软件。

  • TM 2023-07-03

    测试了服务器本地AD了 ,挺快的但是处理速度很快

  • TM 2023-07-03

    像这种客户访问的 带宽一下子就满了 只能加带宽吗

  • walkor 2023-07-03

    优化业务减少返回数据的大小。nginx开启gzip压缩,减少带宽消耗。以上都做了的话就只能加带宽了

  • TM 2023-07-03

    试了一下本地单个接口1W并发也没啥问题,但是跑域名访问就不太行跑域名访问500个并发一半访问量需要11秒才能响应

  • TM 2023-07-03

    业务数据已经控制到需要什么才返回什么了,主要这个接口返回商品轮播图,不过轮播图已经用cos流量了

  • walkor 2023-07-03

    网络或者带宽是瓶颈

  • TM 2023-07-03

    已经开启了gzip压缩了 跑别的接口还行,这个商品接口数据比较多难搞

  • walkor 2023-07-03

    升级带宽

  • TM 2023-07-03

    算了不行只能加宽带了,让老板给钱

  • tanhongbin 2023-07-03

    你这是前后端分离嘛?还是渲染的?要是渲染的更完蛋

  • TM 2023-07-03

    嗯嗯前后端分离的

  • tanhongbin 2023-07-03

    前端 放在云上 后端就一个接口 返回数据不大 ,不应该呀

  • TM 2023-07-03

    前端放在另一个服务器上面了,现在直接域名压测服务器拉不满,CPU和内存没动多少,流量一直拉上去,看日志查询速度都在几十毫秒的,感觉很多请求都没进来

  • tanhongbin 2023-07-03

    非常明显的带宽问题了,只能压缩试试了,我估计你前端 静态页面都没上去,所以不是后端的问题

  • TM 2023-07-03

    先继续用一下,现在能撑住,不行再加宽带了

  • tanhongbin 2023-07-03

    嗯嗯,最好把前端放在云上,他们带宽比较猛,走流量就行1个T 8毛吧

  • TM 2023-07-03

    ok 我上去喵喵

  • TM 2023-07-03

    有推荐吗

  • tanhongbin 2023-07-03

    云就随便了

  • TM 2023-07-03

    好的

TM

截图截图

  • 暂无评论
MarkGo

我也是同樣場景問題,
產品詳情,由於包含了子商品數據和日曆價。
接口數據平均40kb大小,服務器5M帶寬,大概15个併發就滿了。

1、開啟gzip
壓縮后數據大概8kb左右,併發能達到60左右;

2、優化前端場景
日曆價改為只加載當月的,分離出日曆接口,改變日期時候才加載其他月份的,數據量沒什麼變化,減輕了db壓力而已。

3、cdn
項目有部署CDN,接口之前沒走CDN,但是後來把接口也接入了CDN。
CDN進行回源配置,
list接口緩存3天。
detail接口緩存15天。
其餘接口不緩存。
另外項目後臺如果修改的話調用CDN的API刷新一次CDN數據。
暫時發現缺點是海外用戶含港澳臺的訪問,偶爾出現異常。

  • TM 2023-07-04

    好像CDN可行,我上腾讯云看看

  • MarkGo 2023-07-04

    我也是騰訊雲.....記得設置限制流量,超出直接回源

  • TM 2023-07-04

    okok

🔝