![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Locust
文章平均质量分 50
Allan_shore_ma
知识分享是最快乐的!
展开
-
压测: Locust 搭建性能监控平台
一、问题Locust 平台本身的数据是非持久化存储的,每次测试结束数据就清空了。二、解决方案Locust + Prometheus + Grafana原创 2022-12-05 16:15:20 · 709 阅读 · 0 评论 -
压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address
压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address一、原因socket TIME_WAIT状态未结束前,消耗完所有可用端口并尝试重用这些端口;导致没有可用端口。二、解决方案增加可用端口范围# sysctl net.ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range = 32768 60999# sysctl net.ip原创 2022-01-28 15:15:35 · 3866 阅读 · 0 评论 -
压测:Locust 测试环境容器化
压测:Locust 测试环境容器化一、需求:统一版本虽然 Locust 压测环境安装简单,但是项目中常常出现版本问题导致异常。二、容器化docker-compose.ymlversion: '3'services: master: build: . container_name: locust-master restart: always ports: - "8089:8089" volumes: - ${PWD}:/usr/src/原创 2022-01-07 12:10:30 · 1043 阅读 · 0 评论 -
压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务
压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务一、需求:redis 服务提供刷用户、存入异常日志等信息。多台压测机环境下,让独立提供服务,防止数据重复。二、Master 压测机配置redis服务# vim /etc/redis.confbind 127.0.0.1 10.0.0.10protected-mode no三、测试代码 redis 相关配置redis服务地址配置: redis_conf.pylocal_redis = False #原创 2022-01-06 12:31:51 · 810 阅读 · 0 评论 -
压测:Locust & WebSocket 二次开发
压测:Locust & WebSocket 二次开发一、需求:压测 WebSocket 接口性能问题。二、问题:Locust 仅封装了Http Client;压测使用 WebSocket,需二次开发三、解决方案:学习Http ClientDrawScript.py#!/usr/bin/env python# -*- coding: utf-8 -*-"""------------------------------------------------- File Nam原创 2022-01-04 18:20:49 · 1965 阅读 · 0 评论 -
压测:Locust测试结束后,实时信息推送
压测:Locust测试结束后,及时信息推送一、需求:压测结束后,企业微信实时反馈信息给项目组。二、问题:记录到Redis里面的数据,在Locust Teardown发送消息时,是每个worker都发送一份Teardown三、解决方案:Redis增加Lockimport redis_lockfrom locust import HttpLocustfrom script import Taskfrom userid.qstools import set_user_infofrom原创 2021-12-23 12:24:51 · 643 阅读 · 0 评论 -
Python协程安全问题:Context Variables
Python协程安全问题:Context Variables一、问题:最近,同事压测遇到奇诡问题,添加好友功能在少量并发压测时没有问题;但是,增加并发压力后,出现增加好友失败。和开发等位问题时,发现是不同用户重复发送同一个authentication。只是,不能确定是开发的bug还是测试代码问题。正常情况错误情况二、定位问题:tcpdump + wireshark 抓包# tcpdump -i eth0 -nn ip src host node1 -w friends.cap#原创 2021-12-17 21:02:07 · 3333 阅读 · 0 评论 -
压测:Docker安装Pythonnet环境
压测:Docker安装Pythonnet环境一、需求:压测C#项目时,Python需要调用Pythonnet(DLL库)二、问题:测试开发时,每个人的环境可能不同。如果使用Docker作为开发环境,就可以避免这种情况产生的问题。三、安装使用:1.从Dockerfile编译docker build -t allan-pythonnet:0.01v . # 从Dockerfile编译DockerfileFROM eversysrnd/pythonnet:3.7.9-with-dependen原创 2021-12-02 12:07:54 · 338 阅读 · 0 评论 -
压测:Redis pubsub 实现 Locust 并发聚合点
压测:Redis pubsub 实现 Locust 并发聚合点一、需求:步骤:启一系列玩家比如5000个,300并发,先登录进入系统并保持tcp不断开其中一个玩家发送消息,记录下发送时间服务器广播给所有玩家,包括发送者一段时间后,比如3秒,搜集所有玩家收到消息的时间戳;将这个时间戳减去发送时间,就是每个人收到聊天消息的时延玩家最短发送消息时间10s二、问题:如果并发300,则需要等300人全部登陆后,一个玩家不断发送聊天信息;其他收消息。而Locust 没有并发聚合点,如果有哪个大佬知原创 2021-10-29 20:12:20 · 322 阅读 · 0 评论