[发明专利]一种服务器lua性能热点分析方法有效

专利信息
申请号: 201811085570.X 申请日: 2018-09-18
公开(公告)号: CN109408323B 公开(公告)日: 2022-05-10
发明(设计)人: 刘马良;胡逸飞;马力;赵帅;赖炳新 申请(专利权)人: 珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司
主分类号: G06F11/30 分类号: G06F11/30
代理公司: 广州嘉权专利商标事务所有限公司 44205 代理人: 俞梁清
地址: 519000 广东省珠海市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 服务器 lua 性能 热点 分析 方法
【说明书】:

发明的技术方案包括一种游戏图形需求和设计的系统和方法,用于实现:通过Linux系统提供的动态追踪技术,利用systemtap工具对服务器进行周期性的采样,通过lua_pcall接口的调用情况,定位当前正在运行的虚拟机地址,并记录当前正在执行的lua函数,通过对采样数据进行分析处理即可得到性能数据文件。本发明的有益效果为:通过动态探测技术,可以在服务器运行期间动态的对服务器程序进行采样,无需修改服务器代码,同时也不需要打开LUA虚拟机提供的luaDebug功能,因此其对服务器的性能影响非常小,且非常方便的实现即插即用,获取lua性能热点,为研发人员优化提供数据支撑,从而降低游戏卡顿,提升游戏用户体验。

技术领域

本发明涉及一种服务器lua性能热点分析方法,属于计算机技术领域。

背景技术

Lua是一个小巧的脚本语言,Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的,这一切都决定了Lua是作为嵌入式脚本的较优选择。

目前lua语言使用较为广泛,部分游戏服务器甚至游戏引擎也支持lua语言开发(如使用较为广泛的unity游戏引擎)。在项目中,lua代码质量好坏直接影响游戏性能,性能低劣的lua代码会造成用户游戏卡顿,严重影响游戏体验,这样保证项目中的lua代码性能高效就变得尤为重要,本文实现了一套lua性能热点分析装置,在服务器运行期间通过动态探测技术,收集lua热点,为性能优化提供数据。此装置与其它luaprofiler不同点在于实现机制不同,传统的luaprofiler工具基于luaDebug提供的hook接口实现,通过在调用函数入口及返回两者时间差来统计函数运行消耗时间,而本装置则不依赖luaDebug,而是使用Linux系统提供的动态追踪技术(systemtap),对服务器进程进行周期性的采样,每个采样时间点记录当前正在执行的lua函数,通过一段时间的采样,被采样次数较多的lua函数就是热点。该方案的优点在于,无需修改服务器代码,同时也不需要打开LUA虚拟机提供的luaDebug功能,因此其对服务器的性能影响非常小,且非常方便实现即插即用。

发明内容

为解决上述问题,本发明的目的在于提供一种服务器lua性能热点分析方法,通过Linux系统提供的动态追踪技术systemtap对服务器进行周期性的采样,记录当前正在执行的lua函数,通过对采样数据进行分析处理即可得到性能数据文件。

本发明解决其问题所采用的技术方案是:一种服务器lua性能热点分析方法,其特征在于,该方法包括以下步骤:S100、预设采样策略;S200、对服务器进行周期采样;S300、判断全局变量L的值是否为0,若是,执行步骤S600,否则执行步骤S400;S400、根据全局变量L的值定位luaState地址并提取出当前执行的函数;S500、将提取出的函数及调用次数累计到MAP中;S600、判断采样时间是否大于等于周期时间,若是,执行步骤S700,否则,执行步骤S200;S700、结束采样,输出性能数据文件。

进一步的,所述步骤S200包括以下步骤:启动服务器,运行服务器代码;使用工具SystemTap对服务器进行采样。

进一步的,所述启动服务器运行服务器代码包括以下步骤:启动服务器;开启测试程序,运行代码。

进一步的,所述使用工具SystemTap对服务器进行采样包括以下步骤:将全局变量L初始化为0;使用SystemTap对lua_pcall接口进行采样,探测其调用及返回通知;判断lua_pcall的是否被调用,若是,则执行下一步,否则,不执行操作;将当前虚拟机luaState地址记录到全局变量L中;lua_pcall调用完成返回后,将全局变量L设置为0;结束采样。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811085570.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top