我运行的服务 cronitor.io 有一个遥测收集 API,可以看到大约 1000rps 的突发流量。(整体基线要低得多,称之为 100rps)
我们的大多数请求都来自 curl 和每种语言中最流行的 HTTP 库(Requests、Guzzle 等)。这些客户端不像浏览器那样维护 SSL 会话。这会导致相对较小的 http 请求需要进行大量 SSL 握手。
我很乐意听取任何关于针对此用例优化 nginx 的提示。我们将请求上传到 uwsgi。当前 nginx.conf 中的相关部分:
worker_processes auto;
events {
worker_connections 1024;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 20M;
gzip on;
这实际上是从我们的应用服务器克隆的。我做了一些研究,对要尝试的事情有一些想法(例如,禁用服务器令牌),但我很乐意听取任何建议。