在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 使用纯Python编写的可扩展的负载测试工具(locust)源码

使用纯Python编写的可扩展的负载测试工具(locust)源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.01M
  • 下载次数:1
  • 浏览次数:41
  • 发布时间:2024-06-02
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: python 源码 扩展 OC 测试

实例介绍

【实例简介】
Locust是一个针对HTTP和其他协议的开源性能/负载测试工具。它以开发者友好的方式让您用普通的Python代码定义测试。Locust测试可以通过命令行或其基于Web的UI运行。可以实时查看吞吐量、响应时间和错误,也可导出以供后续分析。您可以在测试中导入普通的Python库,并且由于Locust具有可插拔的架构,因此可以无限扩展。
【实例截图】
【核心代码】
文件清单
└── locust-5e3f5a7c0767a5a0b5b421db9001b0d5fab8247d
    ├── benchmarks
    │   └── dispatch.py
    ├── CHANGELOG.md
    ├── Dockerfile
    ├── docs
    │   ├── api.rst
    │   ├── changelog.rst
    │   ├── configuration.rst
    │   ├── conf.py
    │   ├── custom-load-shape.rst
    │   ├── developing-locust.rst
    │   ├── extending-locust.rst
    │   ├── further-reading.rst
    │   ├── history.rst
    │   ├── images
    │   │   ├── extend_modern_web_ui_cache_stats.png
    │   │   ├── locust_workers.png
    │   │   ├── number_of_users.png
    │   │   ├── response_times.png
    │   │   ├── total_requests_per_second.png
    │   │   ├── userclass_picker_example.png
    │   │   ├── webui-running-statistics.png
    │   │   └── webui-splash-screenshot.png
    │   ├── increase-performance.rst
    │   ├── index.rst
    │   ├── installation.rst
    │   ├── logging.rst
    │   ├── quickstart.rst
    │   ├── requirements.txt
    │   ├── retrieving-stats.rst
    │   ├── running-distributed.rst
    │   ├── running-in-debugger.rst
    │   ├── running-in-docker.rst
    │   ├── running-without-web-ui.rst
    │   ├── _static
    │   │   └── theme-overrides.css
    │   ├── tasksets.rst
    │   ├── testing-other-systems.rst
    │   ├── use-as-lib.rst
    │   ├── what-is-locust.rst
    │   └── writing-a-locustfile.rst
    ├── examples
    │   ├── add_command_line_argument.py
    │   ├── basic.py
    │   ├── browse_docs_sequence_test.py
    │   ├── browse_docs_test.py
    │   ├── custom_messages.py
    │   ├── custom_shape
    │   │   ├── double_wave.py
    │   │   ├── stages.py
    │   │   ├── staging_user_classes.py
    │   │   ├── step_load.py
    │   │   └── wait_user_count.py
    │   ├── custom_wait_function.py
    │   ├── custom_xmlrpc_client
    │   │   ├── server.py
    │   │   └── xmlrpc_locustfile.py
    │   ├── debugging_advanced.py
    │   ├── debugging.py
    │   ├── dispatch_test_scripts
    │   │   ├── locustfile.py
    │   │   ├── run-disributed-headless.sh
    │   │   ├── run-disributed-web.sh
    │   │   ├── run-local-headless.sh
    │   │   └── run-local-web.sh
    │   ├── docker-compose
    │   │   └── docker-compose.yml
    │   ├── dynamic_user_credentials.py
    │   ├── events.py
    │   ├── extend_web_ui.py
    │   ├── fast_http_locust.py
    │   ├── grpc
    │   │   ├── grpc_user.py
    │   │   ├── hello_pb2_grpc.py
    │   │   ├── hello_pb2.py
    │   │   ├── hello.proto
    │   │   ├── hello_server.py
    │   │   └── locustfile.py
    │   ├── locustfile.py
    │   ├── manual_stats_reporting.py
    │   ├── multiple_hosts.py
    │   ├── nested_inline_tasksets.py
    │   ├── rest.py
    │   ├── sdk_session_patching
    │   │   └── session_patch_locustfile.py
    │   ├── semaphore_wait.py
    │   ├── stop_on_threshold.py
    │   ├── terraform
    │   │   └── aws
    │   │       ├── data_subnet.tf
    │   │       ├── main.tf
    │   │       ├── output.tf
    │   │       ├── plan
    │   │       │   └── basic.py
    │   │       ├── provisioner.tf
    │   │       ├── README.md
    │   │       └── variables.tf
    │   ├── test_data_management.py
    │   ├── use_as_lib.py
    │   ├── vagrant
    │   │   ├── README.md
    │   │   └── supervisord.conf
    │   ├── web_ui_auth.py
    │   ├── web_ui_cache_stats.py
    │   └── worker_index.py
    ├── generate_changelog.py
    ├── LICENSE
    ├── locust
    │   ├── argument_parser.py
    │   ├── clients.py
    │   ├── contrib
    │   │   ├── fasthttp.py
    │   │   └── __init__.py
    │   ├── debug.py
    │   ├── dispatch.py
    │   ├── env.py
    │   ├── event.py
    │   ├── exception.py
    │   ├── html.py
    │   ├── __init__.py
    │   ├── input_events.py
    │   ├── log.py
    │   ├── __main__.py
    │   ├── main.py
    │   ├── py.typed
    │   ├── rpc
    │   │   ├── __init__.py
    │   │   ├── protocol.py
    │   │   └── zmqrpc.py
    │   ├── runners.py
    │   ├── shape.py
    │   ├── stats.py
    │   ├── test
    │   │   ├── fake_module1_for_env_test.py
    │   │   ├── fake_module2_for_env_test.py
    │   │   ├── __init__.py
    │   │   ├── mock_locustfile.py
    │   │   ├── mock_logging.py
    │   │   ├── testcases.py
    │   │   ├── test_debugging.py
    │   │   ├── test_dispatch.py
    │   │   ├── test_env.py
    │   │   ├── test_fasthttp.py
    │   │   ├── test_http.py
    │   │   ├── test_interruptable_task.py
    │   │   ├── test_load_locustfile.py
    │   │   ├── test_locust_class.py
    │   │   ├── test_log.py
    │   │   ├── test_main.py
    │   │   ├── test_old_wait_api.py
    │   │   ├── test_parser.py
    │   │   ├── test_runners.py
    │   │   ├── test_sequential_taskset.py
    │   │   ├── test_stats.py
    │   │   ├── test_tags.py
    │   │   ├── test_taskratio.py
    │   │   ├── test_users.py
    │   │   ├── test_util.py
    │   │   ├── test_wait_time.py
    │   │   ├── test_web.py
    │   │   ├── test_zmqrpc.py
    │   │   └── util.py
    │   ├── user
    │   │   ├── __init__.py
    │   │   ├── inspectuser.py
    │   │   ├── sequential_taskset.py
    │   │   ├── task.py
    │   │   ├── users.py
    │   │   └── wait_time.py
    │   ├── util
    │   │   ├── cache.py
    │   │   ├── date.py
    │   │   ├── deprecation.py
    │   │   ├── exception_handler.py
    │   │   ├── __init__.py
    │   │   ├── load_locustfile.py
    │   │   ├── rounding.py
    │   │   └── timespan.py
    │   ├── web.py
    │   └── webui
    │       ├── auth.html
    │       ├── dev.html
    │       ├── dist
    │       │   ├── assets
    │       │   │   ├── favicon.ico
    │       │   │   └── logo.png
    │       │   ├── auth.html
    │       │   ├── index.html
    │       │   └── report.html
    │       ├── index.html
    │       ├── package.json
    │       ├── public
    │       │   ├── assets
    │       │   │   ├── favicon.ico
    │       │   │   └── logo.png
    │       │   └── report.html
    │       ├── src
    │       │   ├── App.test.tsx
    │       │   ├── App.tsx
    │       │   ├── components
    │       │   │   ├── DataTable
    │       │   │   │   ├── DataTable.test.tsx
    │       │   │   │   └── DataTable.tsx
    │       │   │   ├── ExceptionsTable
    │       │   │   │   └── ExceptionsTable.tsx
    │       │   │   ├── FailuresTable
    │       │   │   │   └── FailuresTable.tsx
    │       │   │   ├── FallbackRender
    │       │   │   │   ├── FallbackRender.test.tsx
    │       │   │   │   └── FallbackRender.tsx
    │       │   │   ├── Form
    │       │   │   │   ├── Form.tsx
    │       │   │   │   ├── Select.tsx
    │       │   │   │   └── tests
    │       │   │   │       ├── Form.test.tsx
    │       │   │   │       └── Select.test.tsx
    │       │   │   ├── Layout
    │       │   │   │   ├── Footer
    │       │   │   │   │   ├── About.tsx
    │       │   │   │   │   └── Footer.tsx
    │       │   │   │   ├── Layout.tsx
    │       │   │   │   └── Navbar
    │       │   │   │       ├── DarkLightToggle.tsx
    │       │   │   │       ├── Navbar.tsx
    │       │   │   │       ├── SwarmMonitor.test.tsx
    │       │   │   │       └── SwarmMonitor.tsx
    │       │   │   ├── LineChart
    │       │   │   │   ├── LineChart.test.tsx
    │       │   │   │   └── LineChart.tsx
    │       │   │   ├── LogViewer
    │       │   │   │   ├── LogViewer.tsx
    │       │   │   │   ├── tests
    │       │   │   │   │   ├── LogViewer.test.tsx
    │       │   │   │   │   └── useLogViewer.test.tsx
    │       │   │   │   └── useLogViewer.ts
    │       │   │   ├── Modal
    │       │   │   │   └── Modal.tsx
    │       │   │   ├── Reports
    │       │   │   │   ├── Reports.test.tsx
    │       │   │   │   └── Reports.tsx
    │       │   │   ├── ResponseTimeTable
    │       │   │   │   ├── ResponseTimeTable.test.tsx
    │       │   │   │   └── ResponseTimeTable.tsx
    │       │   │   ├── StateButtons
    │       │   │   │   ├── EditButton.tsx
    │       │   │   │   ├── NewTestButton.tsx
    │       │   │   │   ├── ResetButton.tsx
    │       │   │   │   ├── StateButtons.tsx
    │       │   │   │   ├── StopButton.tsx
    │       │   │   │   └── tests
    │       │   │   │       ├── ResetButton.test.tsx
    │       │   │   │       ├── StateButtons.test.tsx
    │       │   │   │       └── StopButton.test.tsx
    │       │   │   ├── StatsTable
    │       │   │   │   └── StatsTable.tsx
    │       │   │   ├── SwarmCharts
    │       │   │   │   └── SwarmCharts.tsx
    │       │   │   ├── SwarmForm
    │       │   │   │   ├── SwarmCustomParameters.tsx
    │       │   │   │   ├── SwarmEditForm.tsx
    │       │   │   │   ├── SwarmForm.tsx
    │       │   │   │   ├── SwarmUserClassPicker.tsx
    │       │   │   │   └── tests
    │       │   │   │       ├── SwarmCustomParameters.test.tsx
    │       │   │   │       ├── SwarmEditForm.test.tsx
    │       │   │   │       ├── SwarmForm.test.tsx
    │       │   │   │       └── SwarmUserClassPicker.test.tsx
    │       │   │   ├── SwarmRatios
    │       │   │   │   ├── SwarmRatios.test.tsx
    │       │   │   │   └── SwarmRatios.tsx
    │       │   │   ├── Table
    │       │   │   │   ├── Table.test.tsx
    │       │   │   │   └── Table.tsx
    │       │   │   ├── Tabs
    │       │   │   │   ├── Tabs.constants.tsx
    │       │   │   │   ├── Tabs.test.tsx
    │       │   │   │   └── Tabs.tsx
    │       │   │   ├── ViewColumnSelector
    │       │   │   │   ├── ViewColumnSelector.test.tsx
    │       │   │   │   └── ViewColumnSelector.tsx
    │       │   │   └── WorkersTable
    │       │   │       └── WorkersTable.tsx
    │       │   ├── constants
    │       │   │   ├── auth.ts
    │       │   │   ├── swarm.ts
    │       │   │   └── theme.ts
    │       │   ├── global.d.ts
    │       │   ├── hooks
    │       │   │   ├── tests
    │       │   │   │   ├── useNotifications.test.tsx
    │       │   │   │   ├── useSelecteViewColumns.test.tsx
    │       │   │   │   ├── useSortByField.test.tsx
    │       │   │   │   └── useSwarmUi.test.tsx
    │       │   │   ├── useInterval.ts
    │       │   │   ├── useNotifications.ts
    │       │   │   ├── useSelectViewColumns.ts
    │       │   │   ├── useSortByField.ts
    │       │   │   └── useSwarmUi.ts
    │       │   ├── index.tsx
    │       │   ├── pages
    │       │   │   ├── Auth.tsx
    │       │   │   ├── Dashboard.tsx
    │       │   │   ├── HtmlReport.tsx
    │       │   │   └── tests
    │       │   │       ├── Auth.test.tsx
    │       │   │       ├── Dashboard.test.tsx
    │       │   │       └── HtmlReport.test.tsx
    │       │   ├── redux
    │       │   │   ├── api
    │       │   │   │   └── swarm.ts
    │       │   │   ├── hooks.ts
    │       │   │   ├── slice
    │       │   │   │   ├── logViewer.slice.ts
    │       │   │   │   ├── notification.slice.ts
    │       │   │   │   ├── root.slice.ts
    │       │   │   │   ├── swarm.slice.ts
    │       │   │   │   ├── tests
    │       │   │   │   │   └── ui.slice.test.ts
    │       │   │   │   ├── theme.slice.ts
    │       │   │   │   ├── ui.slice.ts
    │       │   │   │   └── url.slice.ts
    │       │   │   ├── store.ts
    │       │   │   └── utils.ts
    │       │   ├── styles
    │       │   │   └── theme.ts
    │       │   ├── test
    │       │   │   ├── constants.ts
    │       │   │   ├── mocks
    │       │   │   │   ├── statsRequest.mock.ts
    │       │   │   │   └── swarmState.mock.ts
    │       │   │   ├── setup.ts
    │       │   │   └── testUtils.tsx
    │       │   ├── types
    │       │   │   ├── auth.types.ts
    │       │   │   ├── swarm.types.ts
    │       │   │   ├── table.types.ts
    │       │   │   ├── tab.types.ts
    │       │   │   └── ui.types.ts
    │       │   └── utils
    │       │       ├── date.ts
    │       │       ├── number.ts
    │       │       ├── object.ts
    │       │       ├── string.ts
    │       │       ├── tests
    │       │       │   ├── number.test.ts
    │       │       │   ├── object.test.ts
    │       │       │   ├── string.test.ts
    │       │       │   └── url.test.ts
    │       │       └── url.ts
    │       ├── tsconfig.json
    │       ├── vite.config.ts
    │       ├── vitest.config.ts
    │       └── yarn.lock
    ├── Makefile
    ├── MANIFEST.in
    ├── package.json
    ├── pyproject.toml
    ├── README.md
    ├── SECURITY.md
    ├── tox.ini
    └── Vagrantfile

70 directories, 292 files

实例下载地址

使用纯Python编写的可扩展的负载测试工具(locust)源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警