推荐学习书目
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 · Nov 23, 2021 · 2327 views
    This topic created in 1658 days ago, the information mentioned may be changed or developed.
    目标系统是前后端分离的
    所以搞个 python 的测试脚本,想做下压力测试(用 Jmeter 有点麻烦,也不熟)
    于是,主通过 requests 和 multiprocessing.pool 来写脚本
    requests 做模拟请求 api
    pool 实现并发进程

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

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

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

    这样是不是 python 的模拟请求测试不准,要怎么弄才好真实模拟现场多用户,多客户端的真实场景
    3 replies    2021-11-27 14:55:01 +08:00
    Kinnice
        1
    Kinnice  
       Nov 23, 2021
    真实模拟? 暴力的法子,开 100 个 docker ,里面跑你的业务流程
    vanwtf
        2
    vanwtf  
       Nov 25, 2021
    做压力测试可以试试, locust 这个库, 有实时请求图和记录, 很方便, windows 也能装
    FrankSun
        3
    FrankSun  
       Nov 27, 2021
    使用 locust ,比较简单而且是异步的,locust 的性能也能满足你现在的需求了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5691 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 06:36 · PVG 14:36 · LAX 23:36 · JFK 02:36
    ♥ Do have faith in what you're doing.