分服务器确实会好点,但我们的服务器配置还是挺不错的,是程序崩溃了,主要是程序处理不过来。
发生战斗时,每个玩家同时有几百条在进行推送,推送消息用到的是多线程。我们在测试的过程中发现,消息队列中的消息没有推送完,所以导致以上出现的种种问题。
资料太少,不好做出具体的判断,大家都是狂猜,不过资料一多,估计也没人会看得下去。 我怀疑是不是你的战斗计算过于复杂,导致线程池使用了太多的资源,形成队列拥堵,然后就越来越慢,最后暴了,当然,也不排除是有人找到复杂点的恶意攻击,但也应该是变卡,而不是直接无响应了。 其实,像这种很容易解决,第一,自己模拟个500线程去战斗登陆或是其它什么,其二,你应该有特殊字符记录吧?比如ATT表示战斗什么的,login表示登陆,view_j表示查看交易所,你再把开始和结束时间一同记录,然后分析一下就很明了哪块。
希望能给你到启发 http://kb.cnblogs.com/page/207824/ 当然这是网站的~ 登录界面一个服务器~ 聊天一个服务器~ 其他的按地图分到不同的服务器~
页游的话不需要用socket连接呀 socket的话是长连接 用HTTP就行了 操作一次请求一次~
你改一下列队 测试一下 别给弄坏了 就行 要不然被开 别找我
楼上所言有道理啊,建议楼主模拟大量用户进行登录和战斗操作,然后记录上锁和解锁地址和次数。 你说的登录和战斗不是用的同一个队列,那肯定是线程在满负载工作啊,看看线程有没有可以改进的地方。
按理说队列模式的话,就不应该全局无响应的, 多半是什么地方死锁了
111,088
社区成员
642,552
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧