ECS连接数在2000左右APP移动端出现假死状态 这个要怎么解决 杀进程后再重启APP又正常了 后台APP进程没有挂掉
可以用nginx限制并发数,或者做个集群,一半服务器的连接器是有限制的,望采纳
这个可以做个集群是用多个服务器负载
是阿里云的服务器嘛?软件出现假死状态重启也无效的话,可以联系他们客服退换的
是不是服务线程数太高了?是配置不行还是容器参数设置的问题?这个自己排查一下问题平静在哪里
这是因为tcp连接用完没有及时关闭释放
导致这个问题的原因有很多
根据你的描述,有可能是app和服务端的代码问题
通常app和服务端有指令交互,在处理某些指令的时候没有处理好,
导致app不断发起新的请求
通过服务端增加日志,先找出是什么请求导致连接数飙升
然后再深入这个请求分析交互的逻辑
我以前也遇到过这样的问题,这是排查问题的心得
如有帮助,请采纳,十分感谢!
达到最大并发了。1、nginx做负载,多加服务器。2、优化代码
假死状态一般就是长连接过多或者是内存、cpu沾满了,这种情况可以通过重启临时解决,想要彻底解决需要找出来原因,分析一下,可以做一个脚本每隔一段时间来检测是否挂掉了,或者假死了,然后出现状况之后重启程序
并发多了呗。
APP只是从后端读数据,这个并发大了,APP读不到数据,转圈圈。APP是前端,服务器是后端。问题在后端。
优化方案:
1 APP建立缓存机制
2 后端数据读写适用高并发方案。
a.读写分离
b.数据缓存
c.事务锁
d.队列
e.乐观锁/悲观锁
3 负载均衡
限流吧,不然你的手机内存直接打满,就卡死了
高并发Web服务的演变——节约系统内存和CPU
https://developer.aliyun.com/article/87312
导致请求ECS上的APP访问超时或访问慢,是由于移动端发送过来的TCP包的时间戳是乱的,所以服务器将这些包给丢弃了。
解决方案:
#vim /etc/sysctl.config
net.ipv4.tcp_tw_recycle = 0 // net.ipv4.tcp_tw_recycle 设置为1,则开启!设置为0为关闭!记录时间戳
#sysctl -p
从你提供的一两句话无法判断问题点的,最好是将你已经发现的一些信息共享出来(比如日志、截图等),这样才可以更快对应你的问题。
需要你升级一下服务器
Nginx或者ipvs做个负载均衡或者升级下服务器硬件。
或者看下代码逻辑对于需要关闭的连接自动关闭。