压测简介
压测信息
压测软件:使用Jmeter作为压测软件。
压测机器:3台 4C8G主机作为压测机,单台最高可以触发250QPS,3台理论最高750QPS。
业务机器:4台 8C16G,按比例均匀分配给13个微服务。
压测方式
针对小程序商城压力情况,给出11个压测场景,分别是首页、购物车、确认订单页、下单、商品详情页、(多个)活动页。
每一个场景存在多个接口,如购物车存在4个接口,单场景压一次算作一次TPS,通过持续给并发,测算最大TPS。
系统架构
系统通过tracfik代替nginx,tracfik接收到请求后,转发至k8s容器,k8s通过服务压力,动态给到一个pod,转发给nginx,nginx通过9000端口给php。
php微服务用到的服务:
- redis
- Mysql
故压力点在:
tracfik : 流量、服务器压力
k8s:内存、CPU
Nginx: work_process
PHP_FPM: worker处理数量
redis:cpu、内存
Mysql:最大连接数、CPU、内存
接下来就是检测这些数据:
利用grafana,时时查看k8s中单pod的运行情况,cpu和内存占用率,Mysql运行情况,redis运行情况,宿主机运行情况,tracfik流量情况。
具体文档
飞书地址:https://bxqoqb21lu.feishu.cn/docx/PyOddv3THoPQvWxNyffcjeQAnnd