zoukankan      html  css  js  c++  java
  • 压测相关数据收集

    collectPressInfo.sh

    #! /bin/bash
    # 间隔时间
    SLEEP_TIME=30
    export JAVA_HOME=/app/nearby-server/jdk1.8.0_121
    export PATH=$JAVA_HOME/bin:$PATH
    
    
    project=nearby-server
    PID=$(ps -ef | grep $project | grep -v grep |grep java| awk '{print $2}')
    
    PROCESS_NAME=$(ps -ef | grep ${PID} | grep -v ${FILTER} | awk '{print $8}' | awk -F '[/]' '{print $NF}')
    LOG="${PROCESS_NAME}_${PID}_stress_monitoring_record.log"
    
    thread_num=0
    vmem=0
    mem=0
    cpu_info=""
    while true
    do
        # 判断被监控的进程是否启动
        PRO_NOW=`ps aux | grep $PID | wc -l`
        if [ $PRO_NOW -eq 0 ]
        then 
            echo "`date +"%Y-%m-%d %H:%M:%S"`, $PID is not running!!!!!!!!!!!!!" >> ./$LOG
        else
            #线程数
            thread_num=$(pstree -p $PID | wc -l)
            #打开文件数
            open_files=$(lsof -p $PID | wc -l)
            #cpu占用率
            cpu_info=`top -bn 1 -p $PID | awk 'NR==8 {print $9}'`
            #虚拟内存使用量
            vmem=`ps aux | grep $PID | grep -v ${FILTER} | awk '{print $5}'`
            #内存使用量
            mem=`ps aux | grep $PID | grep -v ${FILTER} | awk '{print $6}'`
            #输出到日志文件
            echo -e "`date +"%Y-%m-%d	%H:%M:%S"`	${vmem}	${mem}	${cpu_info}	${open_files}	${thread_num}" >> ./${LOG}
        fi
        sleep $SLEEP_TIME
    done
    

    stopCollect.sh

    #!/bin/bash
    export JAVA_HOME=/app/nearby-server/jdk1.8.0_121
    export PATH=$JAVA_HOME/bin:$PATH
    
    PROCESS_NUM=$(ps -ef | grep collectl | grep -v grep | wc -l)
    echo $PROCESS_NUM
    PID=$(ps -ef |grep collectl|grep -v grep| awk '{print $2}')
    echo $PID
    if [ $PROCESS_NUM -eq 1 ]; then
      echo 'kill '${PID}
      kill $PID
    else
      echo 'no process to kill'
    fi
    
    cd /app/nearby-server
    
    mv performance.log  `date +%y%m%d%H%M%S`_performance.txt
    

    getCollect.sh

    #!/bin/bash
    export JAVA_HOME=/app/nearby-server/jdk1.8.0_121
    export PATH=$JAVA_HOME/bin:$PATH
    cd /app/nearby-server
    nohup collectl -scmd -oT >performance.log &
    

      

  • 相关阅读:
    转游戏开发做的第一款手机网游的经历和体会
    cocos2d-x 单点事件用法
    cocos2d-x编译成android 以及android开发环境一些经验分享
    apk 反编译用法 mac上apktool
    cocos2d-x 中LUA和平台之间的函数调用理解
    项目经验
    sprintf 的基本用法
    html5标签 ----------- canvas vue / html
    vue 基于element组件库实现表格下多个子级展示
    vue基于proxy实现服务器反向代理功能
  • 原文地址:https://www.cnblogs.com/fxl-njfu/p/11780785.html
Copyright © 2011-2022 走看看