给点建议:
可以用一些ping工具,在机房其他主机长时间ping(1-2小时)D2主机网卡IP,看看丢包、网络延迟等参数是否正常。一般情况,如果服务器刚重启,丢包率和网络延迟不正常,网络问题可能性比较大。如果服务器运行了一段时间后,丢包率和网络延迟不正常,服务器本身的问题可能性比较大。
网络问题可排查下面几个方面。
1、检查IDC机房的路由器、交换机是否有环回等引起的网络风暴(最直接的方法是命令行查看各路由器和交换机个端口的实时情况,如果出现某个端口的流量一直处于峰值,应该是问题端口所在,可把该端口的网线拔掉)(有网络风暴时,影响的是整个机房,猜想管理员会接到很多故障投诉,所以这类问题应该会很快被管理员发现并解决)。
2、检查是否有DDOS攻击,正常来说机房用的设备应该是防DDOS攻击的(省钱买了山寨货除外),在安全设置里面把防DDOS的开关打开即可。
3、网络带宽的问题:限制带宽的地方很多,如服务器所在交换机端口、机房核心层交换机、机房网络出口路由器或防火墙,还有上层的管理软件都可以控制带宽,只要一环出现配置错误都可能导致带宽不足,简单的方法是用测试软件测试一下带宽,如果不足再去排查是上面提到的哪些环节是否出现配置错误。
4、其他:如IDC机房的一些网络审计软件、安全软件都有可能导致网络问题,机房交换机、路由器的整机吞吐量不足等。
以上排查比较专业,需要机房各设备的管理权限,应该是协调机房运营商去排查。
如果不是机房网络问题,就很可能是服务器本身的问题:
如:
1、网卡:上下行速率是否稳定,常见不稳定是网卡驱动与OS的兼容性导致。
2、配置:网卡配置(端口工作模式,商用服务器的网卡端口一般情况是可以配置网卡工作模式、速率等的)、虚拟缓存等
3、文件系统:最常见的问题是存储日志、存档、临时文件的磁盘空间配置小,容易出现饱和,导致系统处理效率严重下降。
4、内存和IO:服务器内存不足,磁盘的IO不够 (内存不足的问题可以关闭一些不用的服务进程或者添加内存条来解决)
5、应用进程:最常见的是内存泄露问题。(通常进程重启后感觉还行,但运行久了就开展出现反应迟钝,甚至不响应操作,这种现象基本上是内存泄露,直接表现就是该进程的内存会一直涨,32位的服务器会涨到4G后 core掉)
6、数据库性能:不知道D2服务器用没用到数据库,如果用到了,数据库的性能也可能导致问题。主要有:数据库的连接数、缓存、锁的使用方法等。(连接数和缓存可在数据库的配置文件中修改,锁的使用是D2设计时定下来的,发布后无法再改,一般内部测试通过后应该也不会有问题)
最后:工程部署的问题。
没研究过D2服务器搭建,不过,通常涉及多台服务器组成类似分布式方式部署TOPO结构,一般都可以通过优化各进程部署策略、内外网通讯策略等来达到最优的效果。
比如:最近我发现登陆和退出游戏时都有点费时间,有时就还卡一会儿,另外,论坛常有人报卡档的事情。从这些现象大致可以推测出处理存档的服务进程出现不稳定。可以工程部署的时候应该把此服务部署到带宽比较充裕、性能比较好的服务器上,甚至可以单独拿一台好点的服务器来做这个事情。(个人瞎猜,处理存档的进程应该全网只能部署一个吧,如果91的3个国度都有处理存档的进程,就会牵涉3个服务器间存档同步和登陆调度要加“锁”的事情,架构设计比较复杂,不可取)