V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
kaka6
V2EX  ›  Python

写个 Python 测试脚本却与实现差别大

  •  
  •   kaka6 · 2021-11-23 10:42:41 +08:00 · 1943 次点击
    这是一个创建于 1107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目标系统是前后端分离的
    所以搞个 python 的测试脚本,想做下压力测试(用 Jmeter 有点麻烦,也不熟)
    于是,主通过 requests 和 multiprocessing.pool 来写脚本
    requests 做模拟请求 api
    pool 实现并发进程

    业务流程也简单:
    1 、根据 用户信息取 token
    2 、根据 token 访问接口
    3 、根据 token 提交数据

    测试结果,每秒成功请求 api 数达 80+,持续 5 分钟多系统也能平衡运行
    (由于 python 的并发量再多也上不去,受限于本机的 cpu )

    所以初步感觉服务器的响应能力应该可以
    但真实情况是,系统 100 人同时进入就挂了
    查询挂的原因是因为部分表查询慢,堵住了(但用 python 请求又不堵)

    这样是不是 python 的模拟请求测试不准,要怎么弄才好真实模拟现场多用户,多客户端的真实场景
    3 条回复    2021-11-27 14:55:01 +08:00
    Kinnice
        1
    Kinnice  
       2021-11-23 13:33:26 +08:00
    真实模拟? 暴力的法子,开 100 个 docker ,里面跑你的业务流程
    vanwtf
        2
    vanwtf  
       2021-11-25 10:12:19 +08:00
    做压力测试可以试试, locust 这个库, 有实时请求图和记录, 很方便, windows 也能装
    FrankSun
        3
    FrankSun  
       2021-11-27 14:55:01 +08:00
    使用 locust ,比较简单而且是异步的,locust 的性能也能满足你现在的需求了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5873 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:37 · PVG 10:37 · LAX 18:37 · JFK 21:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.