Loading... 作为第三方外包软件公司,面对甲方软件上线前的压测,需要十分重视。在技术层面,主要表现为观测手段。 当前程序是JAVA写的,容器部署。那么监控就是监控该容器运行的cpu、内存、网络等指标,而且最重要的是,整个压测时间不会持续数小时,大概也就几分钟,所以1分钟1次数据上报就不合适了。 已经实验的方法: (1):使用宝塔面板的实时容器实时监测功能。 ![2024-07-18T08:49:03.png][1] (2):部署cadvisor,并且观察实时数据。 ![2024-07-18T08:49:46.png][2] (3):基于夜莺监控,配合categraf及docker插件,实现5秒或者15秒的数据上报。 ![2024-07-18T08:50:02.png][3] 前两者在实时观测中效果不错,只是有点累人,因为需要点开几个页面,而且容器重启后,还需要再次点开。基于夜莺及搭配自己编写的大屏页面,加上5秒数据刷新,可以直接观测。 目前,我更倾向于使用夜莺监控了。 # 压测方法 经过之前一次压测,面对第二次压测的过程中,大概总结了一下大致过程: (1)搜集压测信息,包括服务端和客户端配置参数、数据等。 ![2024-07-18T08:50:20.png][4] (2)先测试一次,搞清楚服务依赖。比如这次的api服务依赖user服务,而user服务还依赖mysql服务。 (3)逐步增加jmeter用户数,直到api服务的cpu使用率、内存使用率、网卡使用率等达到100%。一般是cpu容易打到100%。而如果依赖mysql的话,实际上api服务所运行的容器运行指标一般不会打到100%,而且会一会儿高一会儿低,且延迟会变成,一般是在等mysql的响应了。 ![2024-07-18T08:48:25.png][5] ![2024-07-18T08:48:37.png][6] [1]: https://www.sddts.cn/usr/uploads/2024/07/3969930102.png [2]: https://www.sddts.cn/usr/uploads/2024/07/1649370929.png [3]: https://www.sddts.cn/usr/uploads/2024/07/1658510975.png [4]: https://www.sddts.cn/usr/uploads/2024/07/2262181522.png [5]: https://www.sddts.cn/usr/uploads/2024/07/1794788462.png [6]: https://www.sddts.cn/usr/uploads/2024/07/3779817613.png 最后修改:2024 年 07 月 18 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏