本指南将帮助您在不同环境中安装和配置Locust性能测试框架。
- Python: 3.7 或更高版本
- 内存: 最少 2GB RAM
- 磁盘空间: 最少 1GB 可用空间
- 操作系统: Windows 10+, macOS 10.14+, Linux (Ubuntu 18.04+, CentOS 7+)
- Python: 3.9 或更高版本
- 内存: 8GB RAM 或更多
- 磁盘空间: 5GB 可用空间
- CPU: 多核处理器(用于分布式测试)
# 创建虚拟环境(推荐)
python -m venv locust_env
source locust_env/bin/activate # Linux/macOS
# 或
locust_env\Scripts\activate # Windows
# 安装核心依赖
pip install locust>=2.0.0
pip install dynaconf>=3.1.0
pip install peewee>=3.14.0
pip install loguru>=0.6.0
pip install faker>=15.0.0
pip install jinja2>=3.0.0
pip install requests>=2.28.0
pip install psutil>=5.8.0
# 安装可选依赖
pip install pandas>=1.3.0 # 数据分析功能
pip install matplotlib>=3.5.0 # 图表生成
pip install seaborn>=0.11.0 # 高级图表
pip install openpyxl>=3.0.0 # Excel支持# 克隆项目
git clone git@github.com:ljxpython/locust_framework.git
cd locust_framework
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 安装开发依赖(可选)
pip install -r requirements-dev.txtlocust>=2.0.0 # 核心测试引擎
dynaconf>=3.1.0 # 配置管理
peewee>=3.14.0 # 数据库ORM
loguru>=0.6.0 # 日志管理
faker>=15.0.0 # 测试数据生成
jinja2>=3.0.0 # 模板引擎
requests>=2.28.0 # HTTP客户端
psutil>=5.8.0 # 系统监控
pandas>=1.3.0 # 数据分析
matplotlib>=3.5.0 # 基础图表
seaborn>=0.11.0 # 高级图表
openpyxl>=3.0.0 # Excel文件支持
redis>=4.0.0 # Redis缓存
pymongo>=4.0.0 # MongoDB支持
mysql-connector-python>=8.0.0 # MySQL支持
psycopg2-binary>=2.9.0 # PostgreSQL支持
# 复制配置模板
cp plugin_config.template.json plugin_config.json
cp conf/settings.toml.example conf/settings.toml# Linux/macOS
export LOCUST_ENV=development
export LOCUST_CONFIG_PATH=./conf
# Windows
set LOCUST_ENV=development
set LOCUST_CONFIG_PATH=./conf# 创建数据库表
python -c "
from src.utils.database import init_database
init_database()
"python --version
# 应该显示 Python 3.7+ 版本python -c "
import locust
import dynaconf
import peewee
import loguru
import faker
print('所有核心依赖安装成功!')
"# 运行框架功能演示
python examples/enhanced_framework_demo.py
# 启动Locust Web界面
locust -f examples/basic_test.py --host=http://localhost:8080python -c "
from src.plugins.plugin_manager import PluginManager
pm = PluginManager()
print(f'发现插件: {pm.get_available_plugins()}')
"# 解决方案:使用用户安装
pip install --user locust
# 或者使用虚拟环境
python -m venv locust_env
source locust_env/bin/activate
pip install locust# 解决方案:创建干净的虚拟环境
python -m venv fresh_env
source fresh_env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt# 可能需要安装Visual C++ Build Tools
# 下载并安装:https://visualstudio.microsoft.com/visual-cpp-build-tools/
# 或者使用预编译包
pip install --only-binary=all locust# 更新证书
/Applications/Python\ 3.x/Install\ Certificates.command
# 或者使用conda
conda install -c conda-forge locustpip install pytest>=6.0.0
pip install pytest-cov>=3.0.0
pip install black>=22.0.0
pip install flake8>=4.0.0
pip install mypy>=0.950
pip install pre-commit>=2.15.0# 安装pre-commit钩子
pre-commit install
# 手动运行格式化
black src/ tests/
flake8 src/ tests/# 运行所有测试
pytest
# 运行测试并生成覆盖率报告
pytest --cov=src --cov-report=html
# 运行特定测试
pytest tests/test_analysis.py# 增加文件描述符限制
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
# 优化网络参数
echo "net.core.somaxconn = 65536" >> /etc/sysctl.conf
sysctl -p# 创建systemd服务文件
sudo tee /etc/systemd/system/locust.service > /dev/null <<EOF
[Unit]
Description=Locust Performance Testing Framework
After=network.target
[Service]
Type=simple
User=locust
WorkingDirectory=/opt/locust_framework
ExecStart=/opt/locust_framework/venv/bin/python -m locust -f main.py
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 启用服务
sudo systemctl enable locust
sudo systemctl start locust# 配置日志轮转
sudo tee /etc/logrotate.d/locust > /dev/null <<EOF
/var/log/locust/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 644 locust locust
}
EOF安装完成后,您可以:
如果在安装过程中遇到问题:
- 查看 故障排除指南
- 提交 GitHub Issue
- 发送邮件至 support@example.com