又一个弹药制造者
yapam的Python项目详细描述
雅帕姆
Yapam是一个旨在简化使用Yandex Tank的过程的工具
编辑工具配置,它会自动创建弹药,你可以使用你的测试。 目前,它只能制造幻影类型的弹药。如果你需要测试的应用程序不是无状态的-也许你应该这样做 另寻出路。在
我与坦克或Yandex本身没有任何关系,但他们所做的伟大工作给我留下了深刻的印象。在
备注
对于任何项目,迟早都会出现这样的问题:
What load can it handle?
Which handlers are slow?
What exactly happens if you increase the number of application instances?
你的第一个想法可能是I should use one of the stress testing tools!
,但是如果你没有同事
如果你能做到这一点,那么任务就落在你肩上了。在我看来,Yandex坦克是一个简单方便的方法
做这种类型的任务(据我所知,这是免费和开源的)。
正确的方法是看公文,但是。。。
好的,如果你想尽快完成,这里有一个小Python脚本,它将生成所有你需要生成的坦克射击。在
安装
您的Python版本应该是3.5或更高版本。只需使用Python包管理器(如pip)进行安装:
pip install yapam
配置
配置文件应为扩展名为.JSON的JSON类型文件。在
配置选项:
LOG_DATE_FMT
:内部日志的日期格式
LOG_FMT
:内部日志记录格式(与Python基本日志格式相同)
LOG_LVL
:日志级别(与Python基本日志级别相同)
AMMO_FILE
:保存结果的文件的路径
REQUESTS
:拍摄请求列表
示例:
^{pr2}$使用
创建本地跑步者,例如应用程序副本
# -*- coding: utf-8 -*-
import argparse
import sys
from distutils.util import strtobool
from yapam.armory import Armory
from yapam.config import AmmoConfig
def parse_args():
"""Script arguments parser."""
parser = argparse.ArgumentParser()
parser.add_argument('--config', default='config.json', type=str,
help='Path to configuration file, ex: config.json')
parser.add_argument('--template', default=False, type=strtobool, nargs='?', const=True,
help='Create config template')
return parser.parse_args()
def main():
args = parse_args()
if args.template:
cfg = AmmoConfig()
cfg.log.debug('Trying to create a template of configuration file.')
cfg.create_template(args.config)
cfg.log.debug('Exit.')
sys.exit(0)
try:
user_config = AmmoConfig(args.config)
user_config.log.debug(f'Configuration file loaded: {user_config.public_attrs()}')
armory = Armory(user_config.requests, user_config.ammo_file, user_config.log)
armory.generate_ammo()
except (AssertionError, FileExistsError) as error_msg:
user_config.log.critical(str(error_msg))
sys.exit(1)
sys.exit(0)
if __name__ == '__main__':
main()
为将来的配置文件创建模板
python app.py --template
编辑配置文件
跑步
python app.py
或{
用你的弹药射击坦克!
我什么都看了,但还是什么都不懂。告诉我一个超短的方法来管理整个事情?在
这里有一些官方文件的链接
https://yandextank.readthedocs.io/en/latest/
https://gist.github.com/sameoldmadness/9abeef4c2125bc760ba2f09ee1150330
https://www.youtube.com/watch?v=gws7L3EaeC0
- 项目
标签: