JShaman JavaScript混淆加密 本地部署性能测试

92 阅读2分钟

JShaman版本

JShaman 英文版 v1.3.9,WebAPI调用更适英文版,功能参数细致、性能高于中文版。

测试参数

"part_variable_identifier_obfuscate": 1,
"global_variable_identifier_obfuscate": 0,
"part_function_identifier_obfuscate":0,
"global_function_identifier_obfuscate": 0,
"member_expression_encode": 1,
"numberic_literal_encode": 1,
"binary_express_obfuscate": 1,
"boolean_encode": 1,
"json_encode":0,
"regexp_encode":1,
"string_unicode_encode": 1,
"assignment_junk_code":1,
"zombie_code": 0,
"eval_encode": 0,
"control_flow": 0,
"string_reverse": 0,
"comma_operator": 1,
"string_array": 0,
"string_array_encode": 0,
"vm_execute": 0,
"ast_execute": 0,
"no_beautifier": 0,
"tamper_proof": 0,
"comments": 0,
"compress": 1,

参数功能对应:

参考:www.jshaman.com/en/

测试代码

function NewObject(prefix)
{
    var count=0;
    this.SayHello=function(msg)
    {
            count++;
            alert(prefix+msg);
    }
    this.GetCount=function()
    {
            return count;
    }
}
var obj=new NewObject("Message : ");
obj.SayHello("You are welcome.");

测试方式

自写测试脚本、NodeJS中调用本地部署的JShaman Web API接口。

本机测试,请求地址为127.0.0.1

测试结果

注:影响测试结果的因素有:代码量、CPU、系统、内存

配置一

系统:Win10

CPU:Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz 1.80 GHz

内存:8.00 GB

1、异步请求

请求使用request模块

结果数据

测试次数请求数量单次请求耗时(平均值)总请求耗时(平均值)
10100.23ms(单个请求完成)14ms(总请求量完成)
101000.13ms(单个请求完成)114ms(总请求量完成)
1010000.13ms(单个请求完成)1000ms(总请求量完成)
10100000.15ms(单个请求完成)11000ms(总请求量完成)

每秒并发量约:1000

2、同步请求

请求使用sync-request模块

结果数据

测试次数请求数量单次请求耗时(平均值)总请求耗时(平均值)
101090ms900ms
1010086ms8600ms
10100083ms83000ms
101000087ms870000ms

每秒并发量约:11

配置二

系统:Win11

12th Gen Intel(R) Core(TM) i7-12700F 2.10 GHz

16.0 G

1、异步请求

请求使用request模块

结果数据

测试次数请求数量单次请求耗时(平均值)总请求耗时(平均值)
10100.1ms(单个请求完成)7ms(总请求量完成)
101000.09ms(单个请求完成)20ms(总请求量完成)
1010000.09ms(单个请求完成)133ms(总请求量完成)
10100000.08ms(单个请求完成)1290ms(总请求量完成)

每秒并发量约:8000

2、同步请求

请求使用sync-request模块

结果数据

测试次数请求数量单次请求耗时(平均值)总请求耗时(平均值)
101063ms640ms
1010061ms6600ms
10100061ms68000ms
101000060ms690000ms

每秒并发量约:20

测试截图