高并发场景调优
本文档提供高并发场景下的最佳实践。
连接池
复用 HTTP 连接,减少建立连接的开销:
import httpx
from openai import OpenAI
client = OpenAI(
api_key="sk-real200-xxx",
base_url="https://real200.com/v1",
http_client=httpx.Client(limits=httpx.Limits(max_connections=100))
)
并发控制
建议使用信号量控制并发数:
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(api_key="sk-real200-xxx", base_url="https://real200.com/v1")
semaphore = asyncio.Semaphore(20) # 最大并发 20
async def call_api(prompt):
async with semaphore:
return await client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)
限流处理
高并发时更容易触发限流(429 错误)。建议:
- 实现指数退避重试
- 分散请求到不同时间段
- 联系管理员提高限流阈值