https://www.cnblogs.com/wuzm/p/10926535.html
    问题6:(解决问题5)控制机运行jmx脚本时,会提示如下信息,导致测试跑不起来:
    Waiting for possible shutdown message on port 4445
    进入目录/apache-jmeter/bin:
    vim jmeter.properties
    image.png

    这个是用于监听shutdown message的,如果不需要,可以直接设置为0即可。(小于1000都可以)
    问题7: jmeter -v 时提示bash: /home/ling/apache-jmeter/bin/jmeter: 权限不够
    解决:进入该路径下,执行命令chmod 777 *
    问题8:报告中乱码的问题
    解决:听说使用高版本的jmeter已经解决了这个问题,可能jmeter3.2以上都没有这个问题
    问题9:jmeter的察看结果树中导入jtl文件后结果显示为空
    https://blog.csdn.net/outjenny/article/details/106019147
    解决方法如下:
    \bin\jmeter.properties文件中,添加:
    jmeter.save.saveservice.response_data=true
    jmeter.save.saveservice.samplerData=true
    \bin\user.properties文件中,添加:
    jmeter.save.saveservice.output_format=xml
    jmeter.save.saveservice.response_data=true
    jmeter.save.saveservice.samplerData=true
    jmeter.save.saveservice.requestHeaders=true
    jmeter.save.saveservice.url=true
    jmeter.save.saveservice.responseHeaders=true
    5、重启jmeter,再重新生成jtl文件,就可以看到请求和响应数据了。
    问题10:晚上执行jmeter脚本时中断执行,阿里跳板机session中断
    在每个脚本命令前加上nohup 脚本命令 &

    问题11、jmeter获取token后设置为全局变量
    我们在用jmeter测试接口的过程中,经常会碰到一些接口依赖登录的token,如果不把登录接口获取到的token设置为全局变量,那么就需要在每个线程组中放一个登录接口,实在是麻烦。
    下面分享一下jmeter获取token后设置为全局变量的方法
    问题12、JMeter多脚本间的启动延时
    本地启动非GUI模式-命令报错:Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output form
    image.png
    问题13:定时任务需要注意事项
    1)新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。
    2)每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。
    3)当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
    4)千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。
    5)在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+%Y%m%d’`。

    问题14、Redirecting to /bin/systemctl start crond.service
    原因CentOS7 上的 cron相关命令需要用systemctl来启动服务和 CentOS6上的cron命令不一样
    问题15、lock情况
    如果出现
    crond: can’t lock /var/run/crond.pid
    直接把lock删掉就行了
    rm -rf /var/run/crond.pid
    问题16:汇总
    1、远程压测主机,报堆内存错误、堆内存太低,从1G升到8G
    2、远程压测机和Inflxdb在一台机器上,inflxdb部署在docker中,很久没有重启,问题现象:压测机压测数据向inflxdb中发送数据总会间歇性失败。将docker重启,远程压测机上inflxdb_ip连接到本地机器。
    3、查看bin路径下jmeter日志,查看报错信息
    4、单点登录问题:查找后分析:单点登录需要与账密登录接口产品码保持差异,PC跳web或者web跳pc
    问题分析:一样的话会把旧session清掉的,同一个产品之间做单点登陆是会把旧的删掉,再重新生成一个; 不同产品做单点登陆不会走这异步操作
    目前方案不太好,应对:后面可以将inflxdb安装到压测机上,不用docker部署
    问题17:脚本进程不关,有可能影响压测机性能
    jmeter脚本执行后每次要关掉进程 利用ps -ef |grep jmeter
    然后关闭所有脚本进程
    问题17、beanshell后置处理器写文件警告
    2022-07-13 20:22:55,227 WARN o.a.j.e.BeanShellPostProcessor: Problem in BeanShell script: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOExcep . . . ‘’ : Typed variable declaration
    后置处理器中可能涉及到变量过多,或者读文件等操作,造成占用堆内存,影响性能,最好禁用

    问题18、本地压测,window机器请求报错JMeter java.net.BindException: Address already in use: connect
    原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错。
    解决办法(在jmeter所在服务器操作):
    1.cmd中输入regedit命令打开注册表;
    2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右键Parameters;
    3.添加一个新的DWORD,名字为MaxUserPort;
    4.然后双击MaxUserPort,基数选择十进制,然后再输入数值数据为65534;
    5.重启机器,否则不会生效
    压测心得:
    前置处理器:最好不使用,有可能会出问题,如果想用大量token,可在执行正式脚本之前,用接口生成的token文件传入到txt或者csv【最好txt会快点】,如果需要获取账号加密后的密码,可以提前运行脚本,将加密后的密码传入参数值中。
    配合txt/csv文件读取,循环获取变量值>处理器前>取样器】最好不要将取样器放到循环中,csv读取性能较慢。
    image.png
    image.png