gateway重启后,用status指令查看时发现没有businessworker

dou号

昨天晚上重启gateway的时候就有发现这个问题,守护进程启动成功之后,用status指令查看发现没有businessworker,然后我的设备也就一直连不上,之后就一直重启,最后就好了。然后今天重启的时候又出现了这个问题,也是重启多次后才连上了businessworker,然后因为其他原因又重启了一次,结果就一直连不上了,然后现在我把businessworker连接数调大,连接上了,请问这个原因是因为businessworker连接数太小还是其他原因?

2688 5 0
5个回答

抽不完的寂寞

感觉应该是businessworker进程数不够,一时间处理不过来你的所有客户端连接和登录事件,尤其是业务有数据库等操作会拖慢请求处理速度。
 
你这个看起来是5000-6000个客户端啊,请求数看瞬间重启有好几万的请求要处理吧,瞬间DDOS,单机能撑住不错了

  • 暂无评论
dou号

谢谢解答,还有几个问题还请大神解答:
1:请问大神这个5000-6000客户端是怎么看的?是根据请求数推算出来的吗?:
2:我的阿里云服务器是2核的,然后我现在gateway的连接数设置的是20,business设置的是50,系统正常运行,按照手册上的说明,我的gateway算是很大了,我需要将gateway调小到手册上说的与cpu核数相同,即2个,然后加大business?
3:business处理业务,如果我的business设置的太小,是否会影响阿里云服务器的内存和进程数,当前我的服务器内存和进程数都偏高
4:将business调大后阿里云的均衡负载也上去了,我查了一下均衡负载和访问量有关,是因为business扩大后可处理的业务变多了使得更多的用户可以使用我们的业务,从而使均衡负载上升的吗?还有就是均衡负载存在合理范围吗?是不是业务访问量越大然后均衡负载的合理范围也就越大?

  • 暂无评论
抽不完的寂寞

1、截图里有连接数啊,看起来是20个gateway进程,每个进程300左右个连接,一共6000连接左右。每个进程处理了2000+的请求。
2、2个cpu按照手册gateway好像2个就够吧。50 business感觉有点多呢。
3、进程数高,占用的总内存越大吧,毕竟进程本身也是要占用内存的。
4、请求量越大负载越大。2个cpu,status里负载到7了,印象中到2已经是满负载了,7的话已经是相当高了。
 
当然,现在进程配置能让系统能正常运行就可以维持这个配置,然后加服务器硬件就行了,cpu和内存这些。
 
话说回来6000在线连接就2个cpu是不是太抠门了。

  • 暂无评论
dou号

1:之前就是觉得business进程数不够才将其调到50,我是从20到30到40再到50,这时business进程才启动,如果调低的话服务器会不会又处理不过来?
2:6000多的连接,如果将getway连接数调到2,服务器会不会撑不住?虽然手册上说“Gateway进程使用的非阻塞式IO通讯,属于CPU密集型业务,Gateway进程数设置成与CPU核数相性能最好”,但是6000的连接数毕竟在那
3:还有就是您说的进程数越高占用内存越大,请问您说的进程数是指阿里云的进程数还是gateway和business的进程数?如果是阿里云的进程数,那么getway和business的进程数过大会影响阿里云的进程数吗?
4:我阿里云原先配置是2vCPU8GiB,后来升级成2vCPU16GiB,然后我的负载也就从原先的不到2翻倍成不到4,最近负载又涨到7,负载是不是和内存也有关?
5下面这个是我阿里云服务器图,请问这个2vCPU是指2核吧
 
 
 
 

  • dou号 2019-07-30

    此外,我的cpu目前才占用50%左右

抽不完的寂寞

1、重启瞬间这么大的请求量进程数少确实可能处理不过来
2、我们压测过,gateway 1个进程维持1万连接没有问题。我想你的2个进程维持6000应该不成问题
3、我的理解是阿里云监控中的进程数包括gateway和businessworker的进程数,gateway和businessworker的进程数增加,阿里云监控中的总进程数也会增加
4、负载和内存无直接关系吧,你的负载高应该像你说的是同时处理请求数变大了,导致负载升高
5、应该是
 
cpu占用50%了,说明cpu很快就不够用了,建议加cpu。

年代过于久远,无法发表回答
🔝