在Flask Web开发中,API性能测试是确保应用稳定性和用户体验的关键环节。本文将分享一套完整的Flask API性能测试方法论。
性能测试工具选择
推荐使用locust进行负载测试,它支持分布式测试且易于配置。首先安装依赖:
pip install locust flask
示例Flask API代码
from flask import Flask, jsonify, request
import time
app = Flask(__name__)
@app.route('/api/users', methods=['GET'])
def get_users():
# 模拟数据库查询延迟
time.sleep(0.1)
return jsonify([{'id': i, 'name': f'User {i}'} for i in range(10)])
@app.route('/api/users', methods=['POST'])
def create_user():
data = request.get_json()
# 模拟处理延迟
time.sleep(0.05)
return jsonify({'id': 100, 'name': data.get('name')})
Locust测试脚本
from locust import HttpUser, task, between
class ApiUser(HttpUser):
wait_time = between(1, 3)
@task
def get_users(self):
self.client.get("/api/users")
@task
def create_user(self):
self.client.post("/api/users", json={'name': 'Test User'})
测试执行步骤
- 启动Flask应用:
flask run --host=0.0.0.0 - 启动Locust:
locust -f locustfile.py - 访问
http://localhost:8089进行测试配置 - 设置用户数和spawn速率,开始测试
通过以上方法,可以有效评估Flask API在不同负载下的性能表现。建议关注响应时间、吞吐量和错误率等关键指标。

讨论