给局域网的cpa和axonhub都整了个域名, 然后测试的时候发现, 只要用域名, 输出就是一段一段往外蹦, 一点都不爽, 不丝滑. 问了下AI发现其实是nginx的问题.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
upstream llm_backend {
server 127.0.0.1:8000;
# 启用长连接池,避免频繁TCP握手,大幅提高吞吐量
keepalive 32;
}
server {
...
http2 on;
client_max_body_size 20M;
# 仅为/v1 的api接口配置优化, 页面无所谓
location /v1/ {
proxy_pass http://llm_backend;
# 关闭响应缓冲(最关键),确保SSE流能实时转发
proxy_buffering off;
# 关闭响应缓存,避免错误缓存
proxy_cache off;
# 关闭请求体缓冲,处理长Prompt时降低延迟
proxy_request_buffering off;
# 强制使用HTTP/1.1,以支持keepalive和chunked
proxy_http_version 1.1;
# 显式开启分块传输编码
chunked_transfer_encoding on;
# 连接到后端服务器的超时时间
proxy_connect_timeout 300s;
# 向后端发送请求的超时时间
proxy_send_timeout 300s;
# 从后端读取响应的超时时间,需大于模型最大推理时长
proxy_read_timeout 3600s;
# 为流式路径禁用gzip压缩,它可能与流式传输冲突
gzip off;
# 关闭Nagle算法,减少小包延迟,对token级流式传输至关重要
tcp_nodelay on;
# 明确告知后端不要缓存
proxy_set_header Cache-Control 'no-cache, no-store, must-revalidate';
}
}
|