Loadrunner监控MongoDB

来源:互联网 发布:网络摄像头播放应用 编辑:程序博客网 时间:2024/06/05 20:07

开始profile功能为

db.setProfilingLevel(level); #level等级,值同上

level为1的时候,慢命令默认值为100ms,更改为db.setProfilingLevel(level,slowms)如db.setProfilingLevel(1,50)这样就更改为50毫秒

通过db.system.profile.find() 查看当前的监控日志。


double atof (const char *string); /* Explicit declaration */
extern char* strtok(char *token, const char *delimiter);

Action()
{
    int indexFlag;



    lr_save_string( "127.0.0.1:28017",
        "ServerName" );
//IP和端口

//Correlation comment - Do not change! Original value='0.000179766726236425' Name ='CorrelationParameter_1'
//"ratio" : 0.000179766726236425,
    web_reg_save_param_ex(
        "ParamName=globalLock_ratio",
        "LB= \"ratio\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    //"currentQueue" : { "total" : 0,
    web_reg_save_param_ex(
        "ParamName=currentQueue_total",
        "LB=\"total\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=currentQueue_readers",
        "LB=\"readers\" :",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=currentQueue_writers",
        "LB=\"writers\" : ",
        "RB= },",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=activeClients_total",
        "LB=\"activeClients\" : { \"total\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=activeClients_readers",
        "LB=\"readers\" : ",
        "RB=,",
        "Ordinal=2",
        LAST);

    //"writers" : 0 } },

    web_reg_save_param_ex(
        "ParamName=activeClients_writers",
        "LB=\"writers\" : ",
        "RB= }",
        "Ordinal=2",
        LAST);


    web_reg_save_param_ex(
        "ParamName=mem_resident",
        "LB=\"resident\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=mem_virtual",
        "LB=\"virtual\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=connections_current",
        "LB=\"connections\" : { \"current\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=connections_available",
        "LB=available\" : ",
        "RB= },",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=extra_info_page_faults",
        "LB=\"page_faults\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=extra_info_totalPageFileMB",
        "LB=\"totalPageFileMB\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=cursors_totalOpen",
        "LB=\"cursors\" : { \"totalOpen\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=cursors_clientCursors_size",
        "LB=clientCursors_size\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=cursors_timeOut",
        "LB=\"timedOut\" : ",
        "RB= },",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=network_bytesln",
        "LB=\"network\" : { \"bytesIn\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=network_bytesOut",
        "LB=\"bytesOut\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=network_numRequests",
        "LB=\"numRequests\" : ",
        "RB= },",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=opcounters_insert",
        "LB=opcounters\" : { \"insert\" :",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=opcounters_query",
        "LB=\"query\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=opcounters_update",
        "LB=\"update\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=opcounters_delete",
        "LB=delete\" : ",
        "RB=,",
        "Ordinal=1",
        LAST);

    indexFlag=web_reg_save_param_ex(
        "ParamName=indexCounters_accesses",
        "LB=\"accesses\" : ",
        "RB=,",
        "NotFound=warning",
        "Ordinal=1",
        LAST);


    web_reg_save_param_ex(
        "ParamName=indexCounters_hits",
        "LB=\"hits\" : ",
        "RB=,",
        "NotFound=warning",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=indexCounters_misses",
        "LB=\"misses\" : ",
        "RB=,",
        "NotFound=warning",
        "Ordinal=1",
        LAST);

    web_reg_save_param_ex(
        "ParamName=indexCounters_resets",
        "LB=\"resets\" : ",
        "RB=,",
        "NotFound=warning",
        "Ordinal=1",
        LAST);
    web_reg_save_param_ex(
        "ParamName=indexCounters_missRatio",
        "LB=\"missRatio\" : ",
        "RB= }",
        "NotFound=warning",
        "Ordinal=1",
        LAST);


    web_custom_request("serverStatus",
        "URL=http://127.0.0.1:28017/serverStatus?text=1",
        "Method=GET",
        "Resource=0",
        "RecContentType=text/plain",
        "Referer=",
        "Snapshot=t1.inf",
        LAST);

    lr_output_message ("globalLock_ratio:%s",lr_eval_string("{globalLock_ratio}"));
    lr_output_message ("currentQueue_total:%s",lr_eval_string("{currentQueue_total}"));
    lr_output_message ("currentQueue_writers:%s",lr_eval_string("{currentQueue_writers}"));
    lr_output_message ("activeClients_total:%s",lr_eval_string("{activeClients_total}"));
    lr_output_message ("activeClients_readers:%s",lr_eval_string("{activeClients_readers}"));
    lr_output_message ("activeClients_writers:%s",lr_eval_string("{activeClients_writers}"));
    lr_output_message ("mem_resident:%s",lr_eval_string("{mem_resident}"));
    lr_output_message ("mem_virtual:%s",lr_eval_string("{mem_virtual}"));
    lr_output_message ("connections_current:%s",lr_eval_string("{connections_current}"));
    lr_output_message ("connections_available:%s",lr_eval_string("{connections_available}"));
    lr_output_message ("extra_info_page_faults:%s",lr_eval_string("{extra_info_page_faults}"));
    lr_output_message ("extra_info_totalPageFileMB:%s",lr_eval_string("{extra_info_totalPageFileMB}"));
    lr_output_message ("cursors_totalOpen:%s",lr_eval_string("{cursors_totalOpen}"));
    lr_output_message ("cursors_clientCursors_size:%s",lr_eval_string("{cursors_clientCursors_size}"));
    lr_output_message ("cursors_timeOut:%s",lr_eval_string("{cursors_timeOut}"));
    lr_output_message ("network_bytesln:%s",lr_eval_string("{network_bytesln}"));
    lr_output_message ("network_bytesOut:%s",lr_eval_string("{network_bytesOut}"));
    lr_output_message ("network_numRequests:%s",lr_eval_string("{network_numRequests}"));
    lr_output_message ("opcounters_query:%s",lr_eval_string("{opcounters_query}"));
    lr_output_message ("opcounters_update:%s",lr_eval_string("{opcounters_update}"));
    lr_output_message ("opcounters_delete:%s",lr_eval_string("{opcounters_delete}"));
    lr_output_message ("indexCounters_accesses:%s",lr_eval_string("{indexCounters_accesses}"));
    lr_output_message ("indexCounters_hits:%s",lr_eval_string("{indexCounters_hits}"));
    lr_output_message ("indexCounters_misses:%s",lr_eval_string("{indexCounters_misses}"));
    lr_output_message ("indexCounters_resets:%s",lr_eval_string("{indexCounters_resets}"));
    lr_output_message ("indexCounters_missRatio:%s",lr_eval_string("{indexCounters_missRatio}"));



    //f=atof(lr_eval_string("{globalLock_ratio}"));
    //lr_output_message("%f",f);


    lr_user_data_point("总锁时间占有率", atof(lr_eval_string("{globalLock_ratio}")));
    lr_user_data_point("当前执行队列数",atof(lr_eval_string("{currentQueue_total}")));
    lr_user_data_point("当前执行队列数_写",atof(lr_eval_string("{currentQueue_writers}")));
    lr_user_data_point("当前执行队列数_读",atof(lr_eval_string("{currentQueue_readers}")));

    lr_user_data_point("当前客户端链接数",atof(lr_eval_string("{activeClients_total}")));
    lr_user_data_point("当前客户端链接_读",atof(lr_eval_string("{activeClients_readers}")));
    lr_user_data_point("当前客户端链接_写",atof(lr_eval_string("{activeClients_writers}")));

    lr_user_data_point("占有物理内存数",atof(lr_eval_string("{mem_resident}")));
    lr_user_data_point("占有虚拟内存数",atof(lr_eval_string("{mem_virtual}")));

    lr_user_data_point("当前链接数",atof(lr_eval_string("{connections_current}")));
    lr_user_data_point("当前链接数可用数",atof(lr_eval_string("{connections_available}")));

    lr_user_data_point("页面故障数",atof(lr_eval_string("{extra_info_page_faults}")));
    lr_user_data_point("总页面数",atof(lr_eval_string("{extra_info_totalPageFileMB}")));

    lr_user_data_point("总游标数",atof(lr_eval_string("{cursors_totalOpen}")));
    lr_user_data_point("客户端游标大小",atof(lr_eval_string("{cursors_clientCursors_size}")));
    lr_user_data_point("游标超时",atof(lr_eval_string("{cursors_timeOut}")));

    lr_user_data_point("网络输入量",atof(lr_eval_string("{network_bytesln}")));
    lr_user_data_point("网络输出量",atof(lr_eval_string("{network_bytesOut}")));
    lr_user_data_point("网络请求量",atof(lr_eval_string("{network_numRequests}")));

    lr_user_data_point("查询总数",atof(lr_eval_string("{opcounters_query}")));
    lr_user_data_point("更新总数",atof(lr_eval_string("{opcounters_update}")));
    lr_user_data_point("删除总数",atof(lr_eval_string("{opcounters_delete}")));//opcounters_insert
    lr_user_data_point("插入总数",atof(lr_eval_string("{opcounters_insert}")));


    if(1 == indexFlag)
    {
    
        lr_user_data_point("索引访问总数",atof(lr_eval_string("{indexCounters_accesses}")));
        lr_user_data_point("索引命中数",atof(lr_eval_string("{indexCounters_hits}")));
        lr_user_data_point("索引偏关数",atof(lr_eval_string("{indexCounters_misses}")));
        lr_user_data_point("索引复位数",atof(lr_eval_string("{indexCounters_resets}")));
        lr_user_data_point("索引未命中率",atof(lr_eval_string("{indexCounters_missRatio}")));

    }


return 0;
}


原创粉丝点击