性能测试之容器内存修改与jvisualvm监控

前言


在我们性能测试过程中,我们常常需要分别设定几组配置对应用模块进行性能测试,以作对比。这样的目的在于探究应用运行的瓶颈。其中,我们测试的时候可以通过修改容器分配的内存空间进行测试。

内存修改步骤

1.删除docker中的容器

docker rm [CONTAINER ID]

2.通过docker run利用image进行启动容器(构建容器并启动)
docker run参数可以通过 runlike命令查看docker运行参数runlike new-payment

docker run --net=host -d -e JAVA_OPTS="-Xms256m -Xmx512m -javaagent:/data/share/agent/skywalking-agent.jar -Dskywalking_config=/data/share/agent/config/agent.config" -e JAVA_JAR_OPTS="-Djeesuite.configcenter.profile=test98" -e MachineHostName=all-service-192-168-1-98.test98.ayg --cap-add=SYS_PTRACE -v /dockerlogs/balance-web:/logs -v /data/docker_uploaddata/balance-web:/data/upload/ --volumes-from ayg_fileshare --restart=unless-stopped --add-host config.iyuangong.net:192.168.1.98 --name balance-web --hostname="balance-web-all-service-192-168-1-98.test98.ayg" 192.168.1.196:5000/balance-web:latest

修改内存的参数在JAVA_OPTS="-Xms256m -Xmx512m,对于其他的应用将根据其他的应用来决定
3.构建成功后通过docker logs查看docker构建情况

docker logs -f [CONTAINER ID]

至此修改内容操作已完成
4.确认修改内存是否成功可通过一下方式查看
进入容器,用export命令查看环境变量

docker exec -it [CONTAINER ID] bash
export命令查看环境信息

jvisualvm-监听docker

监听docker容器中的jvm需要配置的参数

方法:
1.runlike new-payment查看应用的运行参数
2.修改应用运行参数

加入监听参数

-Djava.rmi.server.hostname=ip
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.rmi.port=11199
-Dcom.sun.management.jmxremote.port=1199
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

加入端口映射(根据需求自定义映射端口)

  • -p指定要映射的端口,一个指定端口上只可以绑定一个容器
  • -P将容器内部开放的网络端口随机映射到宿主机的一个端口上

hostport:containerport #指定宿主机port、指定容器port

-p 11199:11199 -p 10086:10086

参考内容:性能测试 - 性能监控之我见

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容