我有一个 Nginx 服务器,它不断地处理高负载的请求。我希望能够更改服务器的配置文件并在零停机时间的情况下动态重新加载它。
我在 shell 中运行以下行:
httperf --server=127.0.0.1 --port=80 --uri=/ --num-conns=1 --num-calls=10
Run Code Online (Sandbox Code Playgroud)
当它发送请求时,我正在重新加载我的 nginx 配置。我尝试了以下两个选项:
sudo nginx -s reload
sudo kill -s HUP [pid]
Run Code Online (Sandbox Code Playgroud)
它们都会导致 httperf 返回一些错误。平均而言,在两次良好的请求后,httperf 会退出并打印其日志,相关行如下:
Errors: total 1 client-timo 0 socket-timo 0 connrefused 0 connreset 1
Run Code Online (Sandbox Code Playgroud)
我在很多地方都读到过,重新加载应该无缝地完成,没有停机时间,但从我运行的测试来看,事情似乎有所不同。
我的问题是:
在此先感谢您的帮助,期待看到一些有见地的答案。