页游服务器压力测试方案

简介:

目的:

  为保证单个服务器的在线玩家数量,在项目的初期,应该通过压力测试来预测在线玩家的上限!

 

工程说明:

  我们本着实验主义,认为一切理论皆是假设,而实践实验是检验真理的唯一标准!页游服务器取自大型端游单服务器\单地图服务器的设计;用单线程去处理所有的逻辑,IO,数据库,文件操作各有负责的线程,线程之间通信用异步消息队列!  这样方案的优势在于,化解了多进程部署上的问题和运营成本,吸取了多线程的优势,而不必在编写逻辑的时候考虑多线程,在一定程度上解放程序员,即加快开发进度,以适应竞争日益激烈的页游!

 

测试指标

  1: 网络库的吞吐量!

  2: 网络延迟                           

  3: 内存使用状况                  

  4: 最高玩家在线

 

方案1:

  采用PINGPONG测试方案,客户端向服务器发送消息包,服务端接收到客户端的消息包,将消息报原封不动的返回给客户端,客户端接收到消息包,再次发送给服务器,如此往复!

方案2:

  在方案1的基础之上,每一个客户端发送的消息包,携带当前时间,当客户端收到服务端的返回时,用当前时间减去消息包所携带的时间,就是网络延迟

方案3:

  内存的使用状况,还是通过操作系统的工具来,比如top等!

方案4:

  外网环境模拟:

  在开服期间,页游平台向服务器不断的导入玩家;导入用户的期间,是单服压力最大阶段,最高在线预计在3k左右;这3k的人分布在三个地图之上,地图较大,屏幕内大概也就10个左右的玩家。我们做很多机器人来模拟大量玩家。在开服几天,每个玩家的视野大概也就是一屏幕的地图,每个屏幕上的地图大概分散着10(N个,可调整)个左右的玩家。这十个玩家,每走动一次,都要将自己的最新状态广播给周围的这十个玩家。我们将地图分散开来,假设每一张地图上面就只有十个玩家,我们开启200个这样的地图,这样就是2k的人在线,每一个机器人,每秒向后端做3(N,可以调整)个请求,后端将这样一个请求广播给给图上其他的9个玩家并且返回给机器人自己!这样就模拟了2k在线的情况;如果我们开启300个地图,那么也就是3k在线。以此类推!

  在这样的模拟环境中,我们要检测一些数据,

     1:网络延迟,在100ms左右,可以容忍;

     2:服务器每秒处理的消息数,

     3:内存状况监测,查看是否有内存泄露问题!

     4:调整每个地图上的玩家个数,和开启的地图数目

     5:调整机器人每秒的请求数

客户端技术:

    起初我的方案是用线程去去模拟玩家机器人,随后弃之~,其实只要用socket就好,用epoll去管理N个socket(机器人)的发送和接受数据!发送一般为定时发送,接受则需要epoll的机制。故压力测试的客户端,可以和服务端公用一个底层!

 

PS:

     欢迎各位大神来讨论,游戏服务器技术讨论群:156519985,欢迎有经验的人来!

相关文章
|
8天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
1月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
111 32
|
1月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
82 31
|
18天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
19 1
|
23天前
|
存储 Unix Linux
服务器数据恢复—DELL EqualLogic PS6100系列存储简介及发生故障后的处理方案
DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列,支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统,提供全套企业级数据保护和管理功能,具有可扩展性和容错功能。
|
1月前
|
机器学习/深度学习 存储 测试技术
从0到1:如何规划一套流量回放自动化测试方案
本文介绍了流量回放自动化测试的完整方法,从企业战略到交付的四个关键环节:Discovery(深度挖掘)、Define(定义目标)、Design(详细设计)和Delivery(交付与反馈)。通过这些步骤,帮助企业优化系统性能和稳定性,确保产品的高质量。
54 4
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
41 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
33 3