[发明专利]一种服务器lua性能热点分析方法有效
申请号: | 201811085570.X | 申请日: | 2018-09-18 |
公开(公告)号: | CN109408323B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 刘马良;胡逸飞;马力;赵帅;赖炳新 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 519000 广东省珠海市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 lua 性能 热点 分析 方法 | ||
1.一种服务器lua性能热点分析方法,其特征在于,该方法包括以下步骤:
S100、预设采样策略;
S200、对服务器进行周期采样;所述S200包括以下步骤:启动服务器,运行服务器代码;使用工具SystemTap对服务器进行采样;所述使用工具SystemTap对服务器进行采样包括以下步骤:将全局变量L初始化为0;使用SystemTap对lua_pcall接口进行采样,探测其调用及返回通知;判断lua_pcall的是否被调用,若是,则执行下一步,否则,不执行操作;将当前虚拟机luaState地址记录到全局变量L中;lua_pcall调用完成返回后,将全局变量L设置为0;结束采样;
S300、判断全局变量L的值是否为0,若是,执行步骤S600,否则执行步骤S400;
S400、根据全局变量L的值定位luaState地址并提取出当前执行的函数;
S500、将提取出的函数及调用次数累计到MAP中;
S600、判断采样时间是否大于等于周期时间,若是,执行步骤S700,否则,执行步骤S200;
S700、结束采样,输出性能数据文件。
2.根据权利要求1所述的服务器lua性能热点分析方法,其特征在于,所述启动服务器,运行服务器代码包括以下步骤:
启动服务器;
开启测试程序,运行代码。
3.根据权利要求1所述的服务器lua性能热点分析方法,其特征在于,所述步骤S400包括以下步骤:
根据全局变量L的值获取虚拟机luaState地址;
使用查询指令查询在当前虚拟机中运行的进程ID;
根据预设策略对运行中的进程进行采样;
提取出当前正在执行的lua函数;
结束采样。
4.根据权利要求1所述的服务器lua性能热点分析方法,其特征在于,所述步骤S500包括以下步骤:
保存被提取函数信息;
根据函数信息进行分析处理,将处理后的信息输出为性能数据文件。
5.根据权利要求1所述的服务器lua性能热点分析方法,其特征在于,所述步骤S100包括预设采样周期。
6.根据权利要求4所述的服务器lua性能热点分析方法,其特征在于,所述的函数信息包括函数名以及调用信息。
7.根据权利要求4所述的服务器lua性能热点分析方法,其特征在于,所述分析处理包括统计函数被调用次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811085570.X/1.html,转载请声明来源钻瓜专利网。