You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生成含100个唯一用户的JSON请求并测试批量注册耗时

Generating a 100-User Dataset for Bulk Registration Performance Testing

Got it, you need a single HTTP request with 100 unique users to test how long your server takes to handle bulk registrations. Let’s break this down into creating the payload, automating the process, and measuring the server’s response time.

Goal

Create a structured JSON payload containing 100 user profiles, each with a unique email address and phone number, then send it as a single HTTP POST request to validate server processing time.

Sample JSON Payload Structure

Here’s a realistic snippet of the payload—each user has distinct identifiers (incremented numbers ensure uniqueness for emails and phones):

{
  "users": [
    {
      "id": 1,
      "firstName": "John",
      "lastName": "Doe",
      "email": "user1@example.com",
      "phone": "+1-555-000-0001",
      "password": "SecurePass1!"
    },
    {
      "id": 2,
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "user2@example.com",
      "phone": "+1-555-000-0002",
      "password": "SecurePass2!"
    },
    // ... repeat this pattern for users 3 to 100, incrementing id, email number, and phone number
    {
      "id": 100,
      "firstName": "Hannah",
      "lastName": "Rodriguez",
      "email": "user100@example.com",
      "phone": "+1-555-000-0100",
      "password": "SecurePass100!"
    }
  ]
}

Automate Payload Generation (Python Script)

Manually writing 100 entries is tedious—use this script to generate a realistic, complete payload with unique data:

import json

# Use a list of natural names for realism
first_names = ["John", "Jane", "Bob", "Alice", "Charlie", "Diana", "Ethan", "Fiona", "George", "Hannah"]
last_names = ["Doe", "Smith", "Johnson", "Williams", "Brown", "Jones", "Garcia", "Miller", "Davis", "Rodriguez"]

users = []
for i in range(1, 101):
    user = {
        "id": i,
        "firstName": first_names[i % len(first_names)],
        "lastName": last_names[i % len(last_names)],
        "email": f"user{i}@example.com",
        "phone": f"+1-555-000-{str(i).zfill(4)}",  # Ensures 4-digit suffix (0001 to 0100)
        "password": f"SecurePass{i}!"  # Unique password per user (adjust if your server allows static passwords)
    }
    users.append(user)

# Wrap users in a parent object (match your API's expected structure)
payload = {"users": users}

# Save to a JSON file for easy use in requests
with open("bulk_registration_payload.json", "w") as f:
    json.dump(payload, f, indent=2)

print("100-user payload generated successfully! Check bulk_registration_payload.json")

Measuring Server Response Time

Once you have the payload, use one of these methods to track how long the server takes to process the request:

1. Command Line with curl

Run this command to send the payload and get precise timing data:

curl -X POST -H "Content-Type: application/json" -d @bulk_registration_payload.json https://your-api-endpoint.com/register -w "\nTotal Processing Time: %{total_time} seconds\n"

The %{total_time} flag outputs the full round-trip time for the request.

2. Postman

  • Import the generated JSON file as the request body (set method to POST, content type to application/json).
  • Send the request, then check the Response Time metric in the request details panel or Postman console.

3. Custom Python Script

Use the requests library to send the request and measure elapsed time programmatically:

import requests
import json
import time

with open("bulk_registration_payload.json", "r") as f:
    payload = json.load(f)

start_time = time.time()
response = requests.post("https://your-api-endpoint.com/register", json=payload)
end_time = time.time()

print(f"Server Status Code: {response.status_code}")
print(f"Total Processing Time: {end_time - start_time:.2f} seconds")

Key Tips

  • Check Server Limits: Ensure your API allows large payloads (adjust request size limits if needed) and isn’t rate-limited for bulk requests.
  • Validate Results: After testing, confirm all 100 users were successfully created in your database to ensure the server processed the full payload.
  • Adjust Fields: Modify the user fields (like adding address or dateOfBirth) to match your registration API’s requirements.

内容的提问来源于stack exchange,提问作者mani9697

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:37:28