生产环境使用了微服务部署,如何合理分配docker服务器资源

Blade 未结 2 156
334246546
334246546 2025-12-26 11:15
悬赏:10

1、目前问题:
没给容器设置cpu  内存 限制,经常性出现服务器资源使用率很低,但是用户使用卡死情况。

检查,当使用人数达超过200人的时候就会出现这种情况。  检查数据库没用语句挂起,top 命令 线程数只有8  CPU使用率  20-30%
做的是业务系统,最高在线人数700人。

2、目前服务器配置:
目前两台32核心64G内存作为应用服务器,1台32核64G内存作为mysql数据库服务器。
nacos 做了集群,radis做了集群 , mq服务没做集群


现在是在原来的服务上,增加了   business 服务,作为业务操作。    mq-service  作为业务异步处理投递到mq。
mq-consumer  作为消费者处理mq任务。

image.png


现在有两个客户骂街,一直查不出问题,咨询一下大神如何合理分配资源?   
平时使用所有接口保存接口都是  0.几秒,  部分查询接口2秒内。

是否可以通过docker  合理点分配服务器资源能  解决这个问题,为什么服务器cpu没上去  却出现 卡死现象。

能否帮我列一下,每个容器  给多少cpus  内存合适????拜托拜托




2条回答
  •  334246546
    334246546 (楼主)
    2025-12-26 16:46

    image.png
    目前两台服务器,一共有这么多实例,docker  做了内存限制,没做cpu 限制。

    作者追问:2025-12-26 16:46

    按照上面的配置,看看有效果么? 如果服务多的话,也可以考虑用k8s部署。

    如果新的配置依旧有这个问题,得看看有没有额外的日志可以提供让我们看下,我们自己docker、jar包部署的演示系统,每天都有很多人访问,基本都是稳定运行3-4个月都没出问题(只有3个月是每次更新发版都会重新部署,时间得重新计算)

    回答: 2025-12-26 16:46

    按照上面的配置了,100并发一个建档的写表操作,  70% 是38秒响应。 10%  0.3秒     20%  4秒  返回。有没有什么监控的图形化工具能直接使用的,比如服务器,服务,数据库链接之类的?

    作者追问:2025-12-26 16:46

    这个倒还没法确定是部署问题还是业务代码问题。

    你本地启动个bladex-boot工程的原版,用jar包启动不用docker,调用通知公告接口写入数据库,看看同样并发下性能是怎样的。

    boot版本测试完后,再测试下cloud版本。


    关于监控,可以用【Arthas】,这是阿里开源的java诊断工具,无需重启应用,可以看到每个链路具体执行多少毫秒。图形化搭配可以用 Arthas Tunnel。

    回答: 2025-12-26 16:46

    生产环境,nacos   mq服务  一般给多少cpu 跟内存。
     gatetway   system  user  resource  ureport    auth   log  这些一般分配多少cpu 内存资源 需要给多实例吗?

提交回复