查看: 724|回复: 0

如何测试游戏服务端的使用情况,比如网络带宽、延迟、抖...

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-3-2 15:33:45 | 显示全部楼层 |阅读模式

如何测试游戏服务端的使用情况,比如网络带宽、延迟、抖动和丢包率?https://www.gmbbs.net/

为什么需要测量带宽、延迟、抖动和丢包率?
当我们说网络环境是好的,我们通常是指我们“感觉”访问应用程序立即打开。但另一方面,如果一个应用程序需要很长时间才能打开,那它一定是一个糟糕的网络环境吗?不一定,也可能是应用程序本身有问题。如果这是你自己的应用程序,你肯定不想反复刷新页面,或者多带几台电脑来访问以“感受”它的速度作为判断网络好坏的基础,我们需要更可靠的技术手段。这些指标是判断服务器的游戏服务端网络是否良好的基本指标。
除了故障排除,我们还需要了解以下情况下的这些参数:
购买虚拟专用网络:当您购买虚拟专用网络,尤其是国外虚拟专用网络时,您必须想知道您是否能在国外和国内顺利访问您的虚拟专用网络,尤其是带宽参数是否与实际购买的一致。
性能测试:你想在你的应用程序上做性能测试,你需要确保你的网络环境符合索引的要求;
什么样的指标是合格的?
首先,没有共同的指数。不同的应用场景需要不同的索引。例如,访问应用程序的IP电话、视频和网络索引要求是不同的。这里,只分析应用程序访问的情况。
从服务器的游戏服务端的环境的角度来看,服务器的游戏服务端只能控制自己的带宽,但普通用户实际访问的环境是无法控制的。服务器的游戏服务端需要做的是在恶劣的环境中提供更好的体验。这不是本文的主题,所以当我们谈论指标时,我们并不是指服务器的游戏服务端的角度。
从用户环境(开发者或普通用户)的角度来看,如果一个应用程序本身符合要求(谷歌网页速度洞察达到90分以上),网络环境应该满足什么样的指标才能让用户快速打开我们的应用程序。这本身也是一个经验指标,没有最终结论。以下指标是我在进行性能测试时需要的指标。它的要求高于普通用户浏览应用程序的要求,所以它能满足这个指标。网络环境没有问题。
带宽:接近服务提供商提供的最大带宽
延迟:100毫秒
抖动:20毫秒
丢包率:1%
测量方法
测量服务器的游戏服务端带宽
使用iperf工具测试服务器的游戏服务端带宽,它分为服务端与客户端,两边都要安装iperf工具。在Linux通过yum或者apt-get即可直接安装。

服务端(假设IP为106.14.26.11)运行iperf服务:

#iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
这是一台上下行带宽都接近100Mbits/sec的服务器的游戏服务端,实测数值不应该与该数值偏离太远。

客户端

测试上行和下行带宽

$iperf -c 106.14.26.11 -t 60 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 45.32.64.187, TCP port 5001
TCP window size: 197 KByte (default)
------------------------------------------------------------
[ 4] local 104.250.144.8 port 50040 connected with 106.14.26.11 port 5001
[ 5] local 104.250.144.8 port 5001 connected with 106.14.26.11 port 34386
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-60.0 sec 658 MBytes 92.0 Mbits/sec #上行带宽
[ 5] 0.0-60.4 sec 628 MBytes 87.4 Mbits/sec #下行带宽
从测试结果看,上行带宽为92.0Mbits/sec, 下行带宽为87.2Mbits/sec,低于服务器的游戏服务端的100Mbits/sec,但是没有低得很离谱。

如果你的客户端无法连接到iperf服务端,可能是主机的防火墙挡住或者VPS提供商做了限制。对于前者,通过iptables -F即可解决;对于后者,有几种解法:进VPS提供商的控制台修改、联系VPS提供商、修改端口为外部可以访问得到的端口。

测量延迟、抖动和丢包率
延迟,抖动和丢包率,直接使用ping做测试即可。如果想测量这个值,建议抓100个包测试:

$ ping -c 100 www.gmbbs.net
PING www.gmbbs.net (163.177.151.109): 56 data bytes
64 bytes from 163.177.151.109: icmp_seq=0 ttl=55 time=26.639 ms
64 bytes from 163.177.151.109: icmp_seq=1 ttl=55 time=24.329 ms
64 bytes from 163.177.151.109: icmp_seq=2 ttl=55 time=24.794 ms
64 bytes from 163.177.151.109: icmp_seq=3 ttl=55 time=22.709 ms
64 bytes from 163.177.151.109: icmp_seq=4 ttl=55 time=39.994 ms
64 bytes from 163.177.151.109: icmp_seq=5 ttl=55 time=50.786 ms
。。。省略
^C
--- www.gmbbs.net ping statistics ---
100 packets transmitted, 100 packets received, 0.0% packet loss #最后这个百分比就是丢 包率
round-trip min/avg/max/stddev = 21.505/26.743/50.786/6.613 ms #分别表示最小延迟、平均延迟、最大延迟、抖动(抖动就是延迟标准差)
根据上面的结果,我们得到结论:

延迟:26.743ms
抖动: 6.613ms
丢包率: 0.0%
上面的实验大家有空可以做下,还是很有用的。

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表