掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Mina二次开发广告发布系统的性能测试系统

文献发布时间:2023-06-19 18:30:43


一种基于Mina二次开发广告发布系统的性能测试系统

技术领域

本发明涉及网络通信应用技术领域,尤其涉及一种基于Mina二次开发广告发布系统的性能测试系统。

背景技术

随着网络广告市场的发展,网络媒体策划和产品营销人员需要更加细致的管理、及时进行广告优化,确保网络广告资源被高效使用,同时,网络管理者需要更加灵活的组织和调配网络资源,在确保精确的广告投递的前提下,依托广告管理系统的技术基础,与销售团队进行深层次的整合,形成多样性的销售方案。在市场的驱动下,各类广告管理系统应运而生。目前的广告发布系统,大都是使用真实的广告机对服务器进行访问,无法得知目前的系统能够支持多少终端并发使用。

发明内容

本发明的目的就在于为了解决上述问题而提供一种基于Mina二次开发广告发布系统的性能测试系统,本发明模拟大量终端,测试广告发布系统性能,提前得知道系统能够承受的终端数,以及测试过程中解决系统性能问题。

本发明通过以下技术方案来实现上述目的:

使用负载机运行模拟客户程序,输入相应的MAC地址、ID号起始和结束地址模拟大量终端和服务器进行通讯,查看服务器的资源使用推算出系统支持的终端数。

一种基于Mina二次开发广告发布系统的性能测试系统,包括TCP通讯模块、终端模拟模块、消息统计模块、心跳维持模块、日志打印模块、配置文件模块;

TCP通讯模块:用于和服务器进行长连接,匹配服务器的通讯编码,根据相关协议发送授权数据、心跳包、查询数据等指令报文;

终端模拟模块:用于根据输入终端数,分配相关线程模拟相应的终端的MAC地址和ID号,从而保证连接后授权成功;

消息统计模块:用于统计终端和服务器进行交互的消息数量;

心跳维持模块:用于维持每个终端的连接稳定,保证系统在设置的空闲时间内发送数据给服务器维持稳定的长连接;

日志打印模块:用于根据用户设置,打印在线终端数、和接收消息数;

配置文件模块:用于保存请求广告机服务端的IP地址和端口。

进一步方案为,所述TCP通讯模块基于Mina开源框架和广告机终端通讯建立长连接。

进一步方案为,所述终端模拟模块根据广告机服务端的通讯协议,封装了终端与广告机服务端建立连接时需要进行授权且通讯数据使用AES加密;用户在输入对应的MAC地址开始、结束、线程数后,模块根据开始、结束自动生成对应的不重复模拟终端信息。

进一步方案为,所述消息统计模块使用异步统计、Java原子变量特性从而准确的统计所有模拟终端与广告机服务端发送消息数。

进一步方案为,所述日志打印模块使用异步日志打印可以在模拟请求的过程实时获取整个测试过程请求、资源使用情况。

进一步方案为,所述配置文件模块修改便于多台广告机服务端的请求切换,针对不同的广告机服务端更快的获取对应广告机服务端所支持的模拟终端数。

本发明的有益效果在于:

本发明的一种基于Mina二次开发广告发布系统的性能测试系统,通过使用负载机运行模拟客户程序,输入相应的MAC地址、ID号起始和结束地址模拟大量终端和服务器进行通讯,最终查看服务器的资源使用推算出系统支持的终端数。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

使用负载机运行模拟客户程序,输入相应的MAC地址、ID号起始和结束地址模拟大量终端和服务器进行通讯,最终查看服务器的资源使用推算出系统支持的终端数。

在任一实施例中,如图1所示,本发明的一种基于Mina二次开发广告发布系统的性能测试系统,包括TCP通讯模块、终端模拟模块、消息统计模块、心跳维持模块、日志打印模块、配置文件模块;

TCP通讯模块:用于和服务器进行长连接,匹配服务器的通讯编码,根据相关协议发送授权数据、心跳包、查询数据等指令报文;

终端模拟模块:用于根据输入终端数,分配相关线程模拟相应的终端的MAC地址和ID号,从而保证连接后授权成功;

消息统计模块:用于统计终端和服务器进行交互的消息数量;

心跳维持模块:用于维持每个终端的连接稳定,保证系统在设置的空闲时间内发送数据给服务器维持稳定的长连接;

日志打印模块:用于根据用户设置,打印在线终端数、和接收消息数;

配置文件模块:用于保存请求广告机服务端的IP地址和端口。

本发明广告机模拟测试系统基于Java语言开发,系统由TCP通讯模块、终端模拟模块、消息统计模块、心跳维持模块、日志打印模块、配置文件模块六个模块组成。

TCP通讯模块基于Mina开源框架和广告机终端通讯建立长连接,弥补了直接使用Jmeter或Loadrunner测试软件只能使用http请求而无法保持长连接的缺陷。

终端模拟模块根据广告机服务端的通讯协议,封装了终端与广告机服务端建立连接时需要进行授权且通讯数据使用AES加密。用户在输入对应的MAC地址开始、结束、线程数后,模块根据开始、结束自动生成对应的不重复模拟终端信息。模块根据线程数均匀在每个线程上分配对应的终端数从而保证系统资源均匀使用。

消息统计模块使用异步统计、Java原子变量特性从而可以准确的统计所有模拟终端与广告机服务端发送消息数。

日志打印模块使用异步日志打印可以在模拟请求的过程实时获取整个测试过程请求、资源使用情况。

配置文件模块修改便于多台广告机服务端的请求切换,针对不同的广告机服务端更快的获取对应广告机服务端所支持的模拟终端数。

具体配置步骤如下:

前置条件:客户端服务器(window或者linux系统)部署jdk1.8环境;客户端和广告机服务端网络互通,广告机服务端的防火墙开放对应的端口;

配置请求广告机服务端的IP地址和端口;

在客户端服务器运行终端模拟测试系统软件;

输入用户开始MAC编号1点击回车;

输入用户结束MAC编号100点击回车;

输入线程数10点击回车,等待模拟终端和服务器建立连接;

观察控制台模拟用户数、登录成功数、登录失败数、以及在线用户数;

观察负载机、服务器资源使用,从而调整用户数得出服务器瓶颈或者优化服务器的性能。

模拟程序程序模拟5万台广告机终端和服务器连接,广告机发布平台查看终端数为5万台,心跳连接正常,根据设置的30秒间隔发送心跳连接包保持长连接,使用广告机发布平台服务器使用netstat或ss-s指令查看连接状态为5万的连接数。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

技术分类

06120115592623