使用AWS全球加速后由于服务器ttl值太小导致的客户端无法连接服务器排查
1、10月28日上线,当天晚上德国玩家反馈连接不上游戏服,从日志中发现好多玩家使用Vodafone运营商会连不上游戏的失败率很高;
2、10月29日下午程序上更新添加了直连NLB地址;
3、10月31日凌晨1点到3点, aws期间抓包,发现有问题IP地址;
10月31日9点aws将分析结果反馈
4、10月31日中午修改了NLB后端EC2实例的TTL值,由默认值64修改为128。
(忽略31日有问题的数据,晚上程序大面积宕机导致玩家连接不上游戏)
从以上汇总的数据分析,10月29日修改为直连后情况并没有得到好转,10月31日修改NLB后端EC2实例TTL值后,之后GA报错明显下降,从而得出结论,如果项目在使用GA或是ELB可以把后端EC2实例上TTL值做相应的修改,不会对服务器及运行的业务产生影响;
修改TTL值:
echo 128 > /proc/sys/net/ipv4/ip_default_ttl
上面的128其实可以是任何数,若想使设置永久生效,可以修改/etc/sysctl.conf配置文件,添加如下一行:
net.ipv4.ip_default_ttl = 128
修改好了,检查一下。如下图所示:
如果是只是直接修改的/etc/sysctl.conf配置文件,使用下面的命令使其立即生效,其实也就是重新加载增加修改的参数。
[root@5201351 ~]# sysctl -p