概述
在互联网以及移动互联网时代,性能测试一直都是测试团队性能测试工程师的重要挑战。性能测试是一项系统工程,涉及到数据、环境、业务场景建模、压测平台压测工具等等。
需求
最近遇到一个案例,需求是基于MeterSphere测试平台,进行分布式部署,满足10万TPS的压测需求。客户是电商平台的压测,所以需求合情合理。
方案
按照能模拟10万TPS的这个需求,做了如下部署方案的设计。
1. 数据库和Redis单独部署在一台服务器,8核8G内存200G磁盘。
2. MeterSphere应用单独部署在一台服务器,8核16G内存200G磁盘。
3. 消息中间件Kafka单独部署在一台服务器上,8核16G内存200G磁盘。
4. 压测机部署10台,每台配置8C 8G 100G磁盘。资源池配置如下:
部署实施
依据部署方案,进行部署。
主服务:
主服务的部署参照MeterSphere官网文档(4.2 安装配置文件说明,离线安装 - MeterSphere 文档)
数据库服务器:
此处把MySQL和Redis通过Docker容器化部署在同一台服务器
Kafka:
消息中间件Kafka单独部署在一台服务器上,当然也可以按照需要做Kafka集群部署。
压测节点:
10台压测节点,分别下载和上传部署安装包。解压缩后,修改install.conf文件,使用node-Controller模式按照
更详细的安装过程,可以参照 部署Node-Controller集群 - MeterSphere 文档
压测节点部署完成后,在MeterSphere系统设置》系统》测试资源池里,添加和维护资源池。
如果说,想对接K8S压测资源池。可以查看 在MeterSphere平台添加并使用Kubernetes资源池 - FIT2CLOUD 知识库
验证测试
创建一个压测任务,保存并执行,TPS轻松上2.6万。
备注:
1. 如何成长为专业性能测试工程师
2. 常见性能测试术语